<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GRegorLove</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GRegorLove"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/Special:Contributions/GRegorLove"/>
	<updated>2026-04-26T23:24:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-event&amp;diff=70862</id>
		<title>h-event</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-event&amp;diff=70862"/>
		<updated>2026-02-24T00:57:44Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Examples in the wild */ IA link for 68 middle St example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:h-event}}&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-event&amp;lt;/dfn&amp;gt; is a simple, open format for events on the web. h-event is often used with both event listings and individual event pages. h-event is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-event is the [[microformats2]] update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Living Specification''' yet mature enough to encourage additional implementations and [https://github.com/microformats/h-event/issues feedback].&lt;br /&gt;
;&amp;lt;span id=&amp;quot;participate&amp;quot;&amp;gt;Participate&amp;lt;/span&amp;gt;&lt;br /&gt;
:[https://github.com/microformats/h-event/issues Open Issues]&lt;br /&gt;
:[[IRC]]&lt;br /&gt;
:Advance the spec by contributing to a consensus in [https://github.com/microformats/h-event/issues/1 issue: adopt same change control as h-entry]&lt;br /&gt;
&amp;lt;div class=&amp;quot;p-author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
: {{cc0-owfa-license}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple event example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name&amp;quot;&amp;gt;Microformats Meetup&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;From &lt;br /&gt;
    &amp;lt;time class=&amp;quot;dt-start&amp;quot; datetime=&amp;quot;2013-06-30 12:00&amp;quot;&amp;gt;30&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; June 2013, 12:00&amp;lt;/time&amp;gt;&lt;br /&gt;
    to &amp;lt;time class=&amp;quot;dt-end&amp;quot; datetime=&amp;quot;2013-06-30 18:00&amp;quot;&amp;gt;18:00&amp;lt;/time&amp;gt;&lt;br /&gt;
    at &amp;lt;span class=&amp;quot;p-location&amp;quot;&amp;gt;Some bar in SF&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-summary&amp;quot;&amp;gt;Get together and discuss all things microformats-related.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-event&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;Microformats Meetup&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;start&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-30 12:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;end&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-30 18:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;location&amp;quot;: [&lt;br /&gt;
          &amp;quot;Some bar in SF&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;summary&amp;quot;: [&lt;br /&gt;
          &amp;quot;Get together and discuss all things microformats-related.&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-event.&lt;br /&gt;
&lt;br /&gt;
'''p-name''', '''dt-start''', '''dt-end''', '''p-location''', '''p-summary''', and the other h-event property class names listed below define ''properties'' of the h-event.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-parsing]] to learn more about property class names.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-event properties, inside an element with class '''h-event''':&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - event name (or title)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - short summary of the event&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;''' - datetime the event starts&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;''' - datetime the event ends&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - duration of the event&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;''' - more detailed description of the event&lt;br /&gt;
** '''WARNING:''' Proposed to be replaced by '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (re-used from [[h-entry]])&lt;br /&gt;
** See and follow-up: https://github.com/microformats/h-event/issues/3&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - permalink for the event&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - event category(ies)/tag(s)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;''' - where the event takes place, optionally embedded [[h-card]], [[h-adr]], or [[h-geo]]&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
=== Experimental Properties ===&lt;br /&gt;
&lt;br /&gt;
These properties are currently in use in the wild but not (yet) part of the draft h-event spec:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-attendee&amp;lt;/code&amp;gt;''' - a person attending the event, optionally embed [[h-card]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* This draft has not been updated in almost 2 years. During this period, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;p-rsvp&amp;lt;/code&amp;gt; has been standardised, thus making it robust and mature enough for the addition. I guess it's about time to unlabel &amp;lt;code&amp;gt;p-attendee&amp;lt;/code&amp;gt; as experimental.&lt;br /&gt;
** I've filed https://github.com/microformats/h-event/issues/2 to track advancing this draft as a whole. Let's do that with the existing draft before discussing p-attendee in particular. And rather than guessing, take a look at the vocabulary maturity levels in h-entry and perhaps help evaluate (in another issue) p-attendee according to those criteria. [[User:Tantek|Tantek]] 01:10, 28 February 2017 (UTC)&lt;br /&gt;
* I would also suggest to extend expected value to [[h-entry]], so that, while the personal info can be preserved, the attendee can also support p-rsvp property of h-entry.&lt;br /&gt;
** I don't understand this. p-attendee is supposed to represent a person, e.g. an [[h-card]]. How would it having that be an [[h-entry]] make sense and work (from a publishing and consuming code perspective)? This proposed extension to p-attendee may be worth its own issue as well. [[User:Tantek|Tantek]] 01:10, 28 February 2017 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organizer&amp;lt;/code&amp;gt;''' - a person organizing an event, optionally embedded [[h-card]]. Used in Indieweb events, but not consumed. https://github.com/microformats/h-event/issues/10&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-rsvp&amp;lt;/code&amp;gt;''' - similar to the proposed u-comment on h-entry, this would be the proposed property to mark up displayed RSVPs on an h-event. https://github.com/microformats/h-event/issues/9&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
'''h-event''' is a microformats.org draft specification. Public discussion on h-event takes place on the [[irc|#microformats channel on irc.freenode.net]] ([https://chat.indieweb.org/microformats view recent discussions]), and specific issues [https://github.com/microformats/h-event/issues may be filed on GitHub].&lt;br /&gt;
&lt;br /&gt;
h-event is ready to use and implemented in the wild. For backwards compatibility you should also mark up top-level h-events as classic [[hCalendar]] events.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
(stub, to be expanded)&lt;br /&gt;
&lt;br /&gt;
=== p-location ===&lt;br /&gt;
&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; is typically a physical address, optionally marked up with [[h-adr]], for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;p-location h-adr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;17 Austerstræti&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Reykjavík&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-country-name&amp;quot;&amp;gt;Iceland&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reserved Properties ===&lt;br /&gt;
Reserved properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organizer&amp;lt;/code&amp;gt;''' - a person (co-)organizing the event, optionally embed [[h-card]] {{main|h-card}}&lt;br /&gt;
** proposed as way to [https://github.com/snarfed/bridgy/issues/275 implement copying an event organizer to Eventbrite]&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Real world in the wild examples:&lt;br /&gt;
&lt;br /&gt;
* ... add uses of h-event you see in the wild here.&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://tantek.com/ Tantek Çelik] uses h-event on his home page&lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event&lt;br /&gt;
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats2]] h-event and h-card markup&lt;br /&gt;
* WebMaker by Mozilla has h-event and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&amp;amp;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]&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats2]] h-event markup with embedded h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* https://gregorlove.com/events has h-event markup, for example: https://gregorlove.com/2017/06/homebrew-website-club/&lt;br /&gt;
** has additional property from [[h-entry]]: &amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;&lt;br /&gt;
* https://oauth.net/events/ has a list of h-event marked up events relating to OAuth, both future and past&lt;br /&gt;
* [https://web.archive.org/web/20191231175256/http://68middle.st/events 68middle.st/events (archived)] had events marked up in h-event&lt;br /&gt;
* [https://www.gov.uk/government/publications/open-standards-for-government/exchange-of-calendar-events gov.uk] mentions that iCalendar can be translated into h-event microformats in their &amp;quot;Exchange of calendar events&amp;quot; guidance.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;You can map events to and from iCalendar from other formats, such as h-event.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2#Examples_in_the_wild|microformats2 examples in the wild]] for more&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
Software implementations that publish or consume h-event, including themes, plugins, or extensions:&lt;br /&gt;
&lt;br /&gt;
When adding an implementation, please provide and link to its home page and open source repo if any.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/gRegorLove/mf2-to-iCalendar mf2 to iCalendar]: Convert microformats h-event to iCalendar. Example: https://gregorlove.com/calendar/&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[hCalendar]] classnames in addition to the more future-proof h-event properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event vevent&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name summary&amp;quot;&amp;gt;Some great event&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-location h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iCalendar Compatibility ===&lt;br /&gt;
hCalendar-specific implementations that perform custom display or translation to iCalendar .ics {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
This work is based on the existing [[hCalendar]] and [[iCalendar]] specifications.&lt;br /&gt;
&lt;br /&gt;
== Design Principles ==&lt;br /&gt;
(stub, expand)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[h-calendar-to-do]]&lt;br /&gt;
* [[h-event-brainstorming]]&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[hCalendar]]&lt;br /&gt;
* [[h-entry]]s can be RSVPs to events, using the p-rsvp property&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=representative-h-card&amp;diff=70853</id>
		<title>representative-h-card</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=representative-h-card&amp;diff=70853"/>
		<updated>2025-11-17T00:58:26Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: +How section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
This page is for keeping track of the representative h-card effort, which is the [[microformats2]] update to [[representative-hcard]].&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
* How to publish: [[representative-h-card-authoring]]&lt;br /&gt;
* How to find/discover and parse: [[representative-h-card-parsing]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[representative-h-card]]&lt;br /&gt;
* [[representative-h-card-authoring]]&lt;br /&gt;
* [[representative-h-card-parsing]]&lt;br /&gt;
* [[representative-h-card-examples]]&lt;br /&gt;
* [[representative-h-card-formats]]&lt;br /&gt;
* [[representative-h-card-brainstorming]]&lt;br /&gt;
* [[representative-h-card-issues]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-card-authoring]]&lt;br /&gt;
* [[xfn]]&lt;br /&gt;
* [[rel-me]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-review&amp;diff=70852</id>
		<title>h-review</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-review&amp;diff=70852"/>
		<updated>2025-11-07T21:25:29Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Examples in the Wild */ +https://indieweb.org/review#IndieWeb_Examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{warning|Note proposal to [https://github.com/microformats/h-entry/issues/32 merge h-review properties into h-entry]. If the points in that issue are addressed and we get [[h-entry]] change control approval for adding &amp;lt;code&amp;gt;u-review-of&amp;lt;/code&amp;gt;, then we’ll likely merge accordingly and redirect this page accordingly}}&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-review&amp;lt;/dfn&amp;gt; is a simple, open format for publishing reviews on the web. h-review is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-review is the [[microformats2]] update to [[hReview]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
:{{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple review example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-review&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name&amp;quot;&amp;gt;Microformats: is structured data worth it?&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;blockquote&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-item h-item&amp;quot; href=&amp;quot;http://microformats.org&amp;quot;&amp;gt;Microformats&amp;lt;/a&amp;gt; are the simplest way to publish structured data on the web.&lt;br /&gt;
  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    &amp;lt;data class=&amp;quot;p-rating&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;★★★★★&amp;lt;/data&amp;gt;&lt;br /&gt;
    Published &amp;lt;time class=&amp;quot;dt-published&amp;quot; datetime=&amp;quot;2013-06-12 12:00:00&amp;quot;&amp;gt;12&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; June 2013&amp;lt;/time&amp;gt;&lt;br /&gt;
    by &amp;lt;a class=&amp;quot;p-author h-card&amp;quot; href=&amp;quot;http://example.com&amp;quot;&amp;gt;Joe Bloggs&amp;lt;/a&amp;gt;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;div class=&amp;quot;e-content&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Yes, microformats are undoubtedly great. They are the simplest way to markup structured data in HTML and reap the benefits thereof, including using your web page as your API by automatic conversion to JSON. The alternatives of microdata/schema and RDFa are much more work, require more markup, and are more complicated (harder to get right, more likely to break).&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-review&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;Microformats: is structured data worth it?&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;item&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Microformats&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
              &amp;quot;h-item&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
              &amp;quot;name&amp;quot;: [&lt;br /&gt;
                &amp;quot;Microformats&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;url&amp;quot;: [&lt;br /&gt;
                &amp;quot;http://microformats.org&amp;quot;&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;rating&amp;quot;: [&lt;br /&gt;
          &amp;quot;5&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;published&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-12 12:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;author&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Joe Bloggs&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
              &amp;quot;h-card&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
              &amp;quot;name&amp;quot;: [&lt;br /&gt;
                &amp;quot;Joe Bloggs&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;url&amp;quot;: [&lt;br /&gt;
                &amp;quot;http://example.com&amp;quot;&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;content&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Yes, microformats are undoubtedly great. They are the simplest way to markup structured data in HTML and reap the benefits thereof, including using your web page as your API by automatic conversion to JSON. The alternatives of microdata/schema and RDFa are much more work, require more markup, and are more complicated (harder to get right, more likely to break).&amp;quot;,&lt;br /&gt;
            &amp;quot;html&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Yes, microformats are undoubtedly great. They are the simplest way to markup structured data in HTML and reap the benefits thereof, including using your web page as your API by automatic conversion to JSON. The alternatives of microdata/schema and RDFa are much more work, require more markup, and are more complicated (harder to get right, more likely to break).&amp;lt;/p&amp;gt;&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-review.&lt;br /&gt;
&lt;br /&gt;
'''p-name''', '''p-item''', '''p-rating''', '''dt-published''', '''p-author''', '''e-content''' and the other property class names listed below defined elements as ''properties'' of the h-review.&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates an embedded '''[[h-item]]''' for the p-item property.&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates an embedded '''[[h-card]]''' for the p-author property.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-parsing]] to learn more about property class names.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-review properties, inside an element with class '''h-review''':&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - thing being reviewed, including embedded microformat for e.g. business or person ([[h-card]]), event ([[h-event]]), place ([[h-adr]] or [[h-geo]]), product ([[h-product]]), recipe ([[h-recipe]]), website, url, or other item ([[h-item]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - person who authored the review, optionally with an embedded [[h-card]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - date time of when the review was written and published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 0-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - review permalink URL&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
Experimental properties currently in use in the wild but not (yet) part of the official h-review spec. Several of these seem to be because of h-review convergence towards [[h-entry]], as h-review gets used alongside h-entry within [[h-feed]]:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;''' - location the review was posted from, optionally embed [[h-card]], [[h-adr]], or [[h-geo]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - short review summary&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-syndication&amp;lt;/code&amp;gt;''' - URL(s) of syndicated copies of this review. The property equivalent of [[rel-syndication]] ([https://aaronparecki.com/2018/01/29/10/ example] with [https://www.amazon.com/review/R1P2C3ATN75836/ref=pe_1098610_137716200_cm_rv_eml_rv0_rv syndication to Amazon])&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
'''h-review''' is a microformats.org draft specification. Public discussion on h-review takes place on [[h-review-feedback]] and the #microformats [[irc]] channel on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
h-review is ready to use.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
(stub, add any property explanations here)&lt;br /&gt;
&lt;br /&gt;
== Examples in the Wild ==&lt;br /&gt;
Add any h-review examples you find in the wild:&lt;br /&gt;
&lt;br /&gt;
* https://cleverdevil.io/2015/blood-rites-book-six-of-the-dresden-files&lt;br /&gt;
* https://aaronparecki.com/2018/01/29/10/ (more on Aaron’s [https://aaronparecki.com/reviews review feed])&lt;br /&gt;
* https://khleedril.org/dale-mellor/bookblog; a book blog with two-way syndication of reviews.&lt;br /&gt;
* More examples on https://indieweb.org/review#IndieWeb_Examples&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
* [https://github.com/cleverdevil/Known-Reviews Reviews plugin for Known CMS] by [https://cleverdevil.io Jonathan LaCour].&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[hReview]] classnames on an h-review permalink page in addition to the more future-proof h-review properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-review hreview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name fn&amp;quot;&amp;gt;My great review&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [https://aaronparecki.com/ Aaron Parecki]’s [https://aaronparecki.com/2016/12/17/8/owning-my-reviews Why Microformats? Owning My Reviews] for a reason to be backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers should detect classic properties and parse them as microformats 2 properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hReview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compatibility root class name: hreview&lt;br /&gt;
&lt;br /&gt;
Properties: (parsed as p- plain text unless otherwise specified)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; (without vcard, vevent, hproduct) - parse as '''p-item h-item''' including backcompat nested properties:&lt;br /&gt;
** &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
** &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
** &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;item vcard&amp;lt;/code&amp;gt; - parse as '''p-item h-card''' including backcompat [[hCard]] parsing&lt;br /&gt;
* &amp;lt;code&amp;gt;item vevent&amp;lt;/code&amp;gt; - parse as '''p-item h-event''' including backcompat [[hCalendar]] vevent property parsing&lt;br /&gt;
* &amp;lt;code&amp;gt;item hproduct&amp;lt;/code&amp;gt; - parse as '''p-item h-product''' including backcompat [[hProduct]] parsing&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - parse as '''p-author''', including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-published'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-content'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=tag&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''. While not a class name nor typical microformats property, [[rel-tag|rel=tag]] was the typical way to tag an hreview. Thus parsers should look for rel=tag hyperlinks inside an hreview, and take the last path segment of their &amp;quot;href&amp;quot; value as a value for a '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' property.&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== prior property names ===&lt;br /&gt;
There may be a handful of h-reviews out there (only one known so far) that use prior h-review property names. Parsers encountering these *may* interpret them as follows:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt; treat as a fallback for '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt; treat as a fallback for '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt; treat as a fallback for '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
h-review is based on the existing [[hReview]] specification.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-product]] can all be embedded in h-review as the p-item&lt;br /&gt;
* [[h-item]] is a minimal microformat in case none of the others suitably represent the item being reviewed&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70851</id>
		<title>microformats2</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70851"/>
		<updated>2025-11-07T20:42:48Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* h-review */ sync with /h-review spec: p-author, dt-published, e-content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
Welcome to the microformats2 home page.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Microformats2 is the latest version of microformats, the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for &amp;lt;em&amp;gt;both&amp;lt;/em&amp;gt; authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).&lt;br /&gt;
&lt;br /&gt;
Microformats2 replaces and supersedes both classic microformats (sometimes called microformats1), as well as incorporates lessons learned from [[microdata]] and [[RDFa]].&lt;br /&gt;
&lt;br /&gt;
=== simple microformats2 examples ===&lt;br /&gt;
Here are a few &amp;lt;span id=&amp;quot;simple_microformats_2_examples&amp;quot;&amp;gt;simple microformats2 examples&amp;lt;/span&amp;gt; along with canonical [[JSON]].&lt;br /&gt;
&lt;br /&gt;
==== person example ====&lt;br /&gt;
* Simple person reference:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Frances Berriman&amp;quot;] &lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person ====&lt;br /&gt;
* Simple hyperlinked person reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Ben Ward&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://benward.me&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person image ====&lt;br /&gt;
* Simple hyperlinked person image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://rohit.khare.org/&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Rohit Khare&amp;quot;&lt;br /&gt;
      src=&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Rohit Khare&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://rohit.khare.org/&amp;quot;],&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple cases details in [[microformats-2-implied-properties]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== detailed person example ====&lt;br /&gt;
* More detailed person&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;u-photo&amp;quot; alt=&amp;quot;photo of Mitchell&amp;quot;&lt;br /&gt;
       src=&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt;&lt;br /&gt;
 (&amp;lt;a class=&amp;quot;u-url&amp;quot; &lt;br /&gt;
     href=&amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
    &amp;gt;@MitchellBaker&amp;lt;/a&amp;gt;)&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-note&amp;quot;&amp;gt;&lt;br /&gt;
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Strategy&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Leadership&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;],&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&lt;br /&gt;
        &amp;quot;http://blog.lizardwrangler.com/&amp;quot;,&lt;br /&gt;
        &amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
      &amp;quot;note&amp;quot;: [&amp;quot;Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&amp;quot;],&lt;br /&gt;
      &amp;quot;category&amp;quot;: [&lt;br /&gt;
        &amp;quot;Strategy&amp;quot;,&lt;br /&gt;
        &amp;quot;Leadership&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== details from examples ===&lt;br /&gt;
Details demonstrated by the examples:&lt;br /&gt;
# The JSON &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; uses the full microformat root class name (e.g. &amp;lt;code&amp;gt;&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt;) for consistent identification.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
=== microformats2 design ===&lt;br /&gt;
&lt;br /&gt;
microformats2 has the following key design aspects:&lt;br /&gt;
&lt;br /&gt;
; Prefixes for class names&lt;br /&gt;
: All microformats class names use prefixes. Prefixes are '''syntax independent from vocabularies''', which are developed separately.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-*&amp;lt;/code&amp;gt; for root class names (e.g. &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; for plain text properties (e.g. &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;u-*&amp;lt;/code&amp;gt; for URL properties (e.g. &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-*&amp;lt;/code&amp;gt; for date/time properties (e.g. &amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;e-*&amp;lt;/code&amp;gt; for embedded markup properties (e.g. &amp;lt;code&amp;gt;e-note&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-prefixes]] for more details.&lt;br /&gt;
&lt;br /&gt;
; Flat sets of optional properties&lt;br /&gt;
: 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).&lt;br /&gt;
&lt;br /&gt;
; Single class markup for common uses&lt;br /&gt;
: Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;. The simple microformats2 examples above demonstrate these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parsing each prefix (including generating canonical JSON) is detailed step-by-step in:&lt;br /&gt;
* The '''[[microformats2-parsing|microformats2 parsing specification]]'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Most properties are specified and used with a single specific prefix (or occasionally two or three) that is self-evident from context. However, any parsing prefix can be used with any property, especially if you find a good reason to do so!&lt;br /&gt;
&lt;br /&gt;
== v2 vocabularies ==&lt;br /&gt;
Status: '''&amp;lt;span id=&amp;quot;draft_v2_vocabularies&amp;quot;&amp;gt;draft&amp;lt;/span&amp;gt;'''. Please review and provide feedback in [[IRC]].&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-item]]&lt;br /&gt;
* [[h-listing]]&lt;br /&gt;
* [[h-product]]&lt;br /&gt;
* [[h-recipe]]&lt;br /&gt;
* [[h-resume]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[h-review-aggregate]]&lt;br /&gt;
&lt;br /&gt;
See below for vocabulary summaries.&lt;br /&gt;
&lt;br /&gt;
=== h-adr ===&lt;br /&gt;
{{main|h-adr}}&lt;br /&gt;
&lt;br /&gt;
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-adr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;adr&amp;quot;&amp;gt;adr&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;post-office-box&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-card ===&lt;br /&gt;
{{main|h-card}}&lt;br /&gt;
&lt;br /&gt;
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-card&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-prefix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-given-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-additional-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-family-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sort-string&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-suffix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nickname&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-logo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-adr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tel&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-note&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-key&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-org&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-job-title&amp;lt;/code&amp;gt;''' - previously 'title' in hCard, disambiguated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-role&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-impp&amp;lt;/code&amp;gt;''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sex&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-gender-identity&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-anniversary&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved properties: (properties not used much (if at all) in practice)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-unit&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tz&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-rev&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-card&amp;quot; is found, don't look for a &amp;quot;vcard&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vcard&amp;quot;&amp;gt;vcard&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-prefix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;given-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;additional-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;family-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-suffix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;logo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-adr h-adr&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bday&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;org&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-unit&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; - parse as '''p-job-title'''&lt;br /&gt;
* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:&lt;br /&gt;
* &amp;lt;code&amp;gt;tz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== h-entry ===&lt;br /&gt;
{{main|h-entry}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-entry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' (was p-entry-title, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' (was p-entry-summary, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (was e-entry-content, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hAtom]]. &lt;br /&gt;
&lt;br /&gt;
Brainstorming:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-video&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - for links to other posts that this post is a reply to (comment regarding, etc.)&lt;br /&gt;
&lt;br /&gt;
Backward compatibility: &lt;br /&gt;
&lt;br /&gt;
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For hAtom backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-entry&amp;quot; is found, don't look for a &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;h-entry-faq&amp;quot;&amp;gt;FAQ:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [http://indiewebcamp.com/note note]?'''&lt;br /&gt;
** A few options, from simplest to most detailed.&lt;br /&gt;
*** '''same as the p-content/e-content''' property.&lt;br /&gt;
*** '''same as the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
*** '''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 &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolved Issues:&lt;br /&gt;
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;p-entry-summary&amp;lt;/code&amp;gt;'''. The historical semantic of &amp;quot;entry-summary&amp;quot; is not different from &amp;quot;summary&amp;quot; in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;e-entry-content&amp;lt;/code&amp;gt;'''. Same point and advantage. In microformats2, entry-content is no more.&lt;br /&gt;
** '''drop &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;'''. Unnecessary and subsumed by &amp;quot;p-name&amp;quot;. Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.&lt;br /&gt;
&lt;br /&gt;
=== h-event ===&lt;br /&gt;
{{main|h-event}}&lt;br /&gt;
&lt;br /&gt;
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-event&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''(*)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hCalendar]]. &lt;br /&gt;
&lt;br /&gt;
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== h-geo ===&lt;br /&gt;
{{main|h-geo}}&lt;br /&gt;
&lt;br /&gt;
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-geo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;geo&amp;quot;&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-item ===&lt;br /&gt;
{{main|h-item}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-item&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of &amp;quot;h-item&amp;quot; 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 &amp;quot;h-item&amp;quot; and its contained content/elements if any).&lt;br /&gt;
&lt;br /&gt;
=== h-product ===&lt;br /&gt;
{{main|h-product}}&lt;br /&gt;
&lt;br /&gt;
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-product&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-product&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-brand&amp;lt;/code&amp;gt;''' - manufacturer, can also be a nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-identifier&amp;lt;/code&amp;gt;''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-review&amp;lt;/code&amp;gt;''' - a review of the product, can also be a nested &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-price&amp;lt;/code&amp;gt;''' - retail price of the product&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-product&amp;quot; is found, don't look for an &amp;quot;hproduct&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hproduct&amp;quot;&amp;gt;hproduct&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;brand&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;review&amp;lt;/code&amp;gt; - including compat root class &amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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'''&lt;br /&gt;
&lt;br /&gt;
=== h-recipe ===&lt;br /&gt;
{{main|h-recipe}}&lt;br /&gt;
&lt;br /&gt;
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-recipe&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-recipe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - the name of the recipe&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-ingredient&amp;lt;/code&amp;gt;''' - describes one or more ingredients used in the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-yield&amp;lt;/code&amp;gt;''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-instructions&amp;lt;/code&amp;gt;''' - the method of the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - the time it takes to prepare the meal described by the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - an accompanying image&lt;br /&gt;
&lt;br /&gt;
Experimental properties with wide adoption&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''  - provides a short summary or introduction &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - the person who wrote the recipe with &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - the date the recipe was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nutrition&amp;lt;/code&amp;gt;''' - nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-recipe&amp;quot; is found, don't look for an &amp;quot;hrecipe&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hrecipe&amp;quot;&amp;gt;hrecipe&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== h-resume ===&lt;br /&gt;
{{main|h-resume}}&lt;br /&gt;
&lt;br /&gt;
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-resume&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-resume&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - overview of qualifications and objectives&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-contact&amp;lt;/code&amp;gt;''' - current contact info in an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-education&amp;lt;/code&amp;gt;''' - an education &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the school, location.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-experience&amp;lt;/code&amp;gt;''' - a job or other professional experience &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the organization, location, job-title.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-skill&amp;lt;/code&amp;gt;''' - a skill or ability, optionally including level and/or duration of experience&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-affiliation&amp;lt;/code&amp;gt;''' - an affiliation with an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; organization&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-resume&amp;quot; is found, don't look for an &amp;quot;hresume&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hresume&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;education&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;experience&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;affiliation&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== h-review ===&lt;br /&gt;
{{main|h-review}}&lt;br /&gt;
&lt;br /&gt;
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - person who authored the review, optionally with an embedded [[h-card]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - date time of when the review was written and published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hreview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview&amp;quot;&amp;gt;hreview&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== h-review-aggregate ===&lt;br /&gt;
{{main|h-review-aggregate}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review-aggregate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating average rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - number of reviews aggregated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - number of reviewers who have rated the product, thus contributing to the average rating.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review-aggregate&amp;quot; is found, don't look for an &amp;quot;hreview-aggregate&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab notes ===&lt;br /&gt;
Notes: &lt;br /&gt;
* 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 &amp;quot;p-&amp;quot;, &amp;quot;u-&amp;quot;, &amp;quot;dt-&amp;quot;, &amp;quot;e-&amp;quot; are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.&lt;br /&gt;
* Profile URLs are provided for use with the HTML4 &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute, microdata &amp;lt;code&amp;gt;itemtype&amp;lt;/code&amp;gt; attribute, and RDFa &amp;lt;code&amp;gt;vocab&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;typeof&amp;lt;/code&amp;gt; attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). &lt;br /&gt;
* microformats2 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.&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab to-do ===&lt;br /&gt;
To do: &lt;br /&gt;
* write a simple tutorial for creating/getting started with microformats-2 markup for new content&lt;br /&gt;
* examples in each h-* spec listed above of how to embed other microformats in them&lt;br /&gt;
* actual profile documents at &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-*&amp;lt;/nowiki&amp;gt; URLs mentioned above.&lt;br /&gt;
* 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.&lt;br /&gt;
* write a porting guide mapping v1 property -&amp;gt; v2 property&lt;br /&gt;
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).&lt;br /&gt;
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
== combining microformats ==&lt;br /&gt;
Since microformats2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.&lt;br /&gt;
&lt;br /&gt;
=== h-event location h-card ===&lt;br /&gt;
Events commonly have venue information with additional structure, like address information. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot; href=&amp;quot;http://indiewebcamp.com/2012&amp;quot;&amp;gt;&lt;br /&gt;
    IndieWebCamp 2012&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
  from &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2012-06-30&amp;lt;/time&amp;gt; &lt;br /&gt;
  to &amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; at &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-name p-org u-url&amp;quot; href=&amp;quot;http://geoloqi.com/&amp;quot;&amp;gt;&lt;br /&gt;
      Geoloqi&lt;br /&gt;
    &amp;lt;/a&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;920 SW 3rd Ave. Suite 400&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Portland&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;p-region&amp;quot; title=&amp;quot;Oregon&amp;quot;&amp;gt;OR&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested h-card used to structure the p-location of the h-event is represented as a structured value for &amp;quot;location&amp;quot; in the JSON, which has an additional key, &amp;quot;value&amp;quot; that represents the plain text version parsed from the p-location.&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-event&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;IndieWebCamp 2012&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://indiewebcamp.com/2012&amp;quot;],&lt;br /&gt;
      &amp;quot;start&amp;quot;: [&amp;quot;2012-06-30&amp;quot;],&lt;br /&gt;
      &amp;quot;end&amp;quot;: [&amp;quot;2012-07-01&amp;quot;],&lt;br /&gt;
      &amp;quot;location&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Geoloqi&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;org&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://geoloqi.com/&amp;quot;],&lt;br /&gt;
          &amp;quot;street-address&amp;quot;: [&amp;quot;920 SW 3rd Ave. Suite 400&amp;quot;],&lt;br /&gt;
          &amp;quot;locality&amp;quot;: [&amp;quot;Portland&amp;quot;],&lt;br /&gt;
          &amp;quot;region&amp;quot;: [&amp;quot;Oregon&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)&lt;br /&gt;
** 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?)&lt;br /&gt;
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** 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)&lt;br /&gt;
** 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)&lt;br /&gt;
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of its &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== h-card org h-card ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)&lt;br /&gt;
&lt;br /&gt;
with source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes such organization affiliations are hyperlinked to the website of the organization:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])&lt;br /&gt;
&lt;br /&gt;
You can mark that up with a nested h-card:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; would.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card h-org&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;, &amp;quot;h-org&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;,&amp;quot;h-org&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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').&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
Or the nested object could be only marked up with 'h-card'. Source:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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].'''&lt;br /&gt;
&lt;br /&gt;
== authoring ==&lt;br /&gt;
=== minimal markup ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.&lt;br /&gt;
&lt;br /&gt;
Simple hCards work just by adding &amp;lt;code&amp;gt;class=&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img class=&amp;quot;h-card&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
     src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Tantek Çelik&amp;quot; src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tip: Inside an open tag, put the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute &amp;lt;em&amp;gt;first&amp;lt;/em&amp;gt;, then any human text content attributes (e.g. &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;), then URL attributes (e.g. &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;), and lastly other attributes (e.g. &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt;). 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.&lt;br /&gt;
&lt;br /&gt;
=== backward compatible ===&lt;br /&gt;
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats2]], you can include both existing classic microformats and microformats2 markup.&lt;br /&gt;
&lt;br /&gt;
In short: use both sets of class names simultaneously. &lt;br /&gt;
&lt;br /&gt;
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.&lt;br /&gt;
&lt;br /&gt;
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;) to separate the root class name element from explicit property class name elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn u-url url&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
       src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url url&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Tantek Çelik&amp;quot; &lt;br /&gt;
         src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* use the microformats-2 class name first, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;h-card vcard&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* and pair them when using an element for multiple properties, e.g.:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-photo photo&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;event-page h-event vevent&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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?]]&lt;br /&gt;
&lt;br /&gt;
== extensions ==&lt;br /&gt;
microformats2 is extensible by means of two separate but syntactically similar extension prefixes for experiments intended to be iterated &amp;amp; evolved and for vendor specific extensions not intended for standardization.&lt;br /&gt;
&lt;br /&gt;
=== experimental extensions ===&lt;br /&gt;
There have been times when specific sites have wanted to extend microformats beyond the set of properties in the microformat vocabulary, 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:&lt;br /&gt;
&lt;br /&gt;
For experimental extensions for the purpose of prototyping to learn more, iterate, towards possibly standardizing, use the &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; prefix before root and property class names.&lt;br /&gt;
&lt;br /&gt;
Specifically: &lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; indicates a literal 'x' for an experimental extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;p-x-prep-time&amp;quot; - a possible experimental property name to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-experimental-properties]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;VENDOR_EXTENSIONS&amp;quot;&amp;gt;vendor extensions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
For vendor specific extensions, microformats2 uses a mechanism similar to CSS vendor extensions, using a similar syntax as experimental extensions, except with a vendor prefix instead of a literal 'x'.&lt;br /&gt;
&lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; 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-, numbers allowed after first character)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;h-bigco-one-ring&amp;quot; - a hypothetical &amp;quot;bigco&amp;quot; vendor-specific &amp;quot;one-ring&amp;quot; microformat root class name.&lt;br /&gt;
* &amp;quot;p-goog-preptime&amp;quot; - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's &amp;quot;preptime&amp;quot; property extension] to [[hRecipe]] (aside: &amp;quot;duration&amp;quot; may be another property type to consider separate from &amp;quot;datetime&amp;quot; as it may be subject to different parsing rules.)&lt;br /&gt;
&lt;br /&gt;
See [[vendor-prefixes]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== extensions background ===&lt;br /&gt;
This extensibility mechanism is a composition of the following (at least somewhat) successful extension syntaxes:&lt;br /&gt;
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]&lt;br /&gt;
* IETF MIME/content-type &amp;quot;x-*&amp;quot; extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]&lt;br /&gt;
* IETF MIME experimental fields (e.g. x-spam-score)&lt;br /&gt;
* HTTP header extensions (e.g. x-pingback)&lt;br /&gt;
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.&lt;br /&gt;
&lt;br /&gt;
Proprietary or experimental CSS3 property implementations have been very successful.&lt;br /&gt;
&lt;br /&gt;
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:&lt;br /&gt;
&lt;br /&gt;
* -moz-border-radius&lt;br /&gt;
* -webkit-border-radius&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This use of vendor specific CSS properties allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.&lt;br /&gt;
&lt;br /&gt;
The benefits have been two-fold:&lt;br /&gt;
* designers have been able to make more attractive sites sooner (at least in some browsers)&lt;br /&gt;
* features have been market / real-world tested before being fully standardized, thus resulting in better features&lt;br /&gt;
&lt;br /&gt;
Implementers have used/introduced &amp;quot;x-&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])&lt;br /&gt;
* x-spam-score (in email headers)&lt;br /&gt;
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])&lt;br /&gt;
&lt;br /&gt;
Some standard types started as experimental &amp;quot;x-&amp;quot; types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:&lt;br /&gt;
&lt;br /&gt;
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-origins#VENDOR_EXTENSIONS]] for more background.&lt;br /&gt;
&lt;br /&gt;
== validators ==&lt;br /&gt;
microformats2 validators:&lt;br /&gt;
&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
* https://pin13.net/mf2/&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
&lt;br /&gt;
See the [[validators]] page for a longer list of validators.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* Ashton McAllan marks up her blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [https://acegiak.net/ acegiak.net]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&amp;amp;utm_medium=h-card&amp;amp;utm_campaign=Microformats eugenbusoiu.com]]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&amp;amp;utm_content=buffere4d40&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer sinolandquality.com]&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].&lt;br /&gt;
* 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].&lt;br /&gt;
* [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.&lt;br /&gt;
* [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].&lt;br /&gt;
** 2013-01-25 Barnaby Walters: &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]&amp;lt;/cite&amp;gt; - describes how he's using microformats2 vocabularies: &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;, and experimental vocabularies: &amp;lt;code&amp;gt;h-feed&amp;lt;/code&amp;gt; (embedded for update histories), [[activity-streams]] objects &amp;lt;code&amp;gt;h-as-article&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-collection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-note&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-update&amp;lt;/code&amp;gt;, as well as experimental properties: &amp;lt;code&amp;gt;u-alternate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-as-downstream-duplicate&amp;lt;/code&amp;gt; (links to POSSE copies), and &amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt; (links to content that the posts are in reply to). &lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.&lt;br /&gt;
* [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&lt;br /&gt;
* 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&amp;amp;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]&lt;br /&gt;
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
Test your microformatted web page with: &lt;br /&gt;
&lt;br /&gt;
=== Live Textarea Input ===&lt;br /&gt;
Use any of these to enter HTML+microformats2 markup and see the parsed result!&lt;br /&gt;
&lt;br /&gt;
* https://microformats.io hosts several of the parser libraries listed below for interactive testing&lt;br /&gt;
** https://go.microformats.io&lt;br /&gt;
** https://node.microformats.io/&lt;br /&gt;
** https://php.microformats.io/&lt;br /&gt;
** https://python.microformats.io/&lt;br /&gt;
** https://ruby.microformats.io/&lt;br /&gt;
** or look for &amp;quot;Parser Libraries&amp;quot; on the homepage&lt;br /&gt;
* https://pin13.net/mf2/ (where it says &amp;quot;Microformats Parser&amp;quot;)&lt;br /&gt;
&amp;lt;!-- * http://glennjones.net/tools/microformats/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Blogging tools ===&lt;br /&gt;
* '''Storytlr''' parses the &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; 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://web.archive.org/web/20130425010536/http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post] (archived; [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html original]).&lt;br /&gt;
** Note: per storytlr.org, retrieved 2022-05-22:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Storytlr is no longer maintained and '''might be unsafe to run on a public server'''. It is running on an old version of PHP and the Zend framework and has not been upgraded to latest versions and security patches.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* '''[https://github.com/snarfed/granary granary]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]], [[microformats2]], and Atom (all directions). Supported silos include Facebook, Twitter, Instagram, Google+, and Flickr. 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.&lt;br /&gt;
&lt;br /&gt;
* '''[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])&lt;br /&gt;
&lt;br /&gt;
* '''[https://xray.p3k.io XRay]''' ([https://github.com/aaronpk/XRay source code]) - Returns a normalized representation of the microformats data at a URL&lt;br /&gt;
&lt;br /&gt;
=== Parsers ===&lt;br /&gt;
Parsers, open source libraries, in alphabetical order by programming language:&lt;br /&gt;
&lt;br /&gt;
If you are implementing a microformats2 parser, see:&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
&lt;br /&gt;
==== Parsers in production ====&lt;br /&gt;
The following parsers are of very high quality, in active development, and use on live sites on the web in production.&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* [[any23]] Apache Any23 (Anything to Triples)] a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents: http://any23.apache.org&lt;br /&gt;
&lt;br /&gt;
===== Javascript =====&lt;br /&gt;
* '''microformats-parser''' for both browser and node.js&lt;br /&gt;
** github open source: https://github.com/aimee-gm/microformats-parser (current)&lt;br /&gt;
** live: https://aimee-gm.github.io/microformats-parser/&lt;br /&gt;
&lt;br /&gt;
Previously:&lt;br /&gt;
* '''microformat-node''' Node.js microformats2 parser&lt;br /&gt;
** github open source: https://github.com/microformats/microformat-node (current)&lt;br /&gt;
*** forked from https://github.com/glennjones/microformat-node&lt;br /&gt;
** test suite: https://github.com/microformats/tests&lt;br /&gt;
&amp;lt;!-- glennjones.net expired SSL cert as of 2018-358 or earlier&lt;br /&gt;
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/&lt;br /&gt;
** live: http://glennjones.net/tools/microformats/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
** command line: https://github.com/JerrySievert/mf2&lt;br /&gt;
* '''microformat-shiv'''  - cross browser javascript microformats2 parser which can also be used in browser extensions.&lt;br /&gt;
&amp;lt;!-- ** http://microformatshiv.com/  Unresponsive 2018-358  or earlier --&amp;gt;&lt;br /&gt;
** github open source: https://github.com/glennjones/microformat-shiv&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
* '''&amp;lt;span id=&amp;quot;php-mf2&amp;quot;&amp;gt;php-mf2&amp;lt;/span&amp;gt;''' - PHP microformats2 parser&lt;br /&gt;
** github open source: https://github.com/indieweb/php-mf2&lt;br /&gt;
** Packagist: https://packagist.org/packages/mf2/mf2&lt;br /&gt;
** live: &lt;br /&gt;
*** textarea entry: http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
*** URL and textarea entry: https://pin13.net/mf2/&lt;br /&gt;
** [https://github.com/barnabywalters/php-mf-cleaner mf-cleaner]: functions for working with the raw mf2 data structure&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
* '''mf2py''' Python microformats2 parser&lt;br /&gt;
** main entry: [[mf2py]]&lt;br /&gt;
** github open source: https://github.com/tommorris/mf2py&lt;br /&gt;
** live: &lt;br /&gt;
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]&lt;br /&gt;
*** textarea entry: https://kartikprabhu.com/connection/mfparser&lt;br /&gt;
*** another textarea: http://www.unmung.com/?html=&lt;br /&gt;
*** URL and/or textarea: https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
===== Ruby =====&lt;br /&gt;
* '''indieweb/microformats-ruby''' Ruby microformats parser&lt;br /&gt;
** github open source: https://github.com/indieweb/microformats-ruby&lt;br /&gt;
** live text entry: https://microformats-parser-ruby.herokuapp.com&lt;br /&gt;
&lt;br /&gt;
===== Haskell =====&lt;br /&gt;
* '''myfreeweb/microformats2-parser''' Haskell microformats2 parser&lt;br /&gt;
** github open source: https://github.com/myfreeweb/microformats2-parser&lt;br /&gt;
** live textarea entry: https://unrelenting.technology/mf2/&lt;br /&gt;
&lt;br /&gt;
==== Development parsers ====&lt;br /&gt;
The following parsers are in-development and have key microformats2 functionality yet are incomplete, not fully tested, or have other limitations. Contributions welcome!&lt;br /&gt;
&lt;br /&gt;
===== Erlang =====&lt;br /&gt;
* '''hazybluedot/mf2erl''' Erlang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/hazybluedot/mf2erl&lt;br /&gt;
&lt;br /&gt;
===== Elixir =====&lt;br /&gt;
* '''ckruse/microformats-elixir''' Elixir microformats2 parser&lt;br /&gt;
** github open source: https://github.com/ckruse/microformats2-elixir&lt;br /&gt;
&lt;br /&gt;
===== Go =====&lt;br /&gt;
* '''willnorris/microformats''' Golang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/willnorris/microformats&lt;br /&gt;
** live textarea entry: https://go.microformats.io/&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* '''Apache Any23''' a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents. Supports Microformats1 and 2.&lt;br /&gt;
** Download recent release: http://any23.apache.org/download.html&lt;br /&gt;
** live: http://any23-vm.apache.org/&lt;br /&gt;
** source: http://any23.apache.org/build-src.html&lt;br /&gt;
* '''mf2j''' An early-stage Java microformats2 parser&lt;br /&gt;
** github open source: https://github.com/kylewm/mf2j&lt;br /&gt;
** live: https://mf2j.herokuapp.com/?url={http://example.com}&lt;br /&gt;
&lt;br /&gt;
===== Perl =====&lt;br /&gt;
* '''Web::Microformats2''' Perl microformats2 parser&lt;br /&gt;
** https://metacpan.org/pod/Web::Microformats2&lt;br /&gt;
** open source: https://github.com/jmacdotorg/microformats2-perl&lt;br /&gt;
&lt;br /&gt;
==== Experiments ====&lt;br /&gt;
Experiments and other proof of concept microformat2 parsing support.&lt;br /&gt;
* '''Rust''' - https://gitlab.com/maxburon/microformats-parser&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Outreach ===&lt;br /&gt;
* [https://github.com/mozilla/fathom/issues/42 Mozilla Fathom:  examples with nested classes, e.g. microformats2]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
Presentations about microformats2:&lt;br /&gt;
* 2013-01-24 &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]&amp;lt;/cite&amp;gt; presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.&lt;br /&gt;
* 2012-09-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp;amp;amp; bits of HTML5: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.&lt;br /&gt;
* 2012-07-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
* 2012-07-14 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Testimonials ==&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;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 &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... But damn Microformats2 are sexy. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
This page was originally used to brainstorm and develop microformats2 in an exploratory manner, with problem statements, questions, lessons learned from past and other formats.&lt;br /&gt;
&lt;br /&gt;
Now that [[microformats2-parsing]] is a Microformats specification, the original brainstorming has been moved to a separate page for anyone who wants to understand more about how we came up with the design of microformats2, and how it evolved in the early years.&lt;br /&gt;
* [[microformats2-origins]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.&lt;br /&gt;
* [[microformats2-experimental-properties]] - listing experimental (-x- prefixed) properties and their use&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[vendor-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=spread-microformats&amp;diff=70743</id>
		<title>spread-microformats</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=spread-microformats&amp;diff=70743"/>
		<updated>2024-11-29T23:12:24Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* T-Shirts */ +motto ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Spread Microformats}}&lt;br /&gt;
&lt;br /&gt;
Inspired by [http://spreadfirefox.com/ Spread Firefox], this page is for sharing community resources for marketing microformats such as [[buttons]], banners, wallpaper / desktop screens, logo graphics, [[stickers]], t-shirts etc.&lt;br /&gt;
&lt;br /&gt;
== Email ==&lt;br /&gt;
* See [[advocacy-email-samples]] for some sample emails you can copy/customize and send to site owners to encourage them adopt microformats.&lt;br /&gt;
&lt;br /&gt;
== Wallpaper ==&lt;br /&gt;
=== Wallpaper and desktop screens. ===&lt;br /&gt;
* A [https://web.archive.org/web/20111128072549/http://remiprevost.com/images/wallpapers/microformats/ wallpaper] by [[User:Remi|Rémi Prévost]]&lt;br /&gt;
&lt;br /&gt;
== Logo ==&lt;br /&gt;
https://indieweb.org/images/8/80/microformats-logo.png&lt;br /&gt;
&lt;br /&gt;
=== logo text ===&lt;br /&gt;
https://web.archive.org/web/20110820103746/http://img.skitch.com/20090715-c3xmikadkj8udt4sq6aqfkqtac.png&lt;br /&gt;
&lt;br /&gt;
* The logo [https://web.archive.org/web/20151003234446/http://vault.simplebits.com/notebook/2005/06/22/microformats/ was designed by Dan Cederholm]&lt;br /&gt;
* High-resolution [http://vault.simplebits.com/bits/microformats/microformats-logo.eps EPS] and  [http://vault.simplebits.com/bits/microformats/microformats-logo.png transparent PNG] versions of the microformats logo text by [[User:DanCederholm|Dan Cederholm]].&lt;br /&gt;
* the microformats typeface is [https://www.emigre.com/Fonts/Solex Solex Medium] by Emigre.&lt;br /&gt;
&lt;br /&gt;
=== logo mark ===&lt;br /&gt;
* An [https://web.archive.org/web/20111128072549/http://remiprevost.com/images/wallpapers/microformats/mf-vector.svg SVG] and [https://web.archive.org/web/20111128072549/http://remiprevost.com/images/wallpapers/microformats/mf-vector.png PNG] (for Fireworks) version, by [[User:Remi|Rémi Prévost]]. Released under [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC BY-NC-SA].&lt;br /&gt;
* An [https://github.com/btrem/microformats/blob/master/logos/microformats.svg SVG] version (and alternative [https://github.com/btrem/microformats/blob/master/logos/microformats-orange.svg orange colour]) by [https://btrem.com Brian Tremblay]. Released under [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 Universal (CC0 1.0) Public Domain Dedication].&lt;br /&gt;
** Also available (slightly modified) [https://github.com/edent/SuperTinyIcons/pull/442 as part of] the [https://github.com/edent/SuperTinyIcons Super Tiny Web Icons collection]. Released under [https://github.com/edent/SuperTinyIcons/blob/e6ea45f6441bd0111295b2713df73c1502de6ec5/LICENSE MIT License].&lt;br /&gt;
&lt;br /&gt;
== POSH ==&lt;br /&gt;
* [[posh|POSH]] logos and buttons&lt;br /&gt;
&lt;br /&gt;
== stickers ==&lt;br /&gt;
See the [[stickers]] page to easily order a set of moo microformats stickers!&lt;br /&gt;
&lt;br /&gt;
== T-Shirts ==&lt;br /&gt;
* See [http://flickr.com/photos/tags/microformatstshirt photos of microformats tshirts on Flickr] (the [http://flickr.com/photos/tags/microformatstshirt/clusters/ clusters] are especially fun)&lt;br /&gt;
** Note also [http://pixelsebi.com/2006-10-26/microformats-t-shirt-in-second-life/ microformats t-shirt in Second Life]&lt;br /&gt;
&lt;br /&gt;
=== motto ideas ===&lt;br /&gt;
&amp;quot;microformats.org: keeping it classy since 2005&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== do it yourself tshirts ===&lt;br /&gt;
[[User:TheJbf|Burcu Dogan]] has made her own microformats t-shirt:&lt;br /&gt;
&lt;br /&gt;
http://web.archive.org/web/20120528054541if_/http://i44.tinypic.com/2s01i1j.jpg&lt;br /&gt;
&lt;br /&gt;
For those who are not able to find a microformats t-shirt, it is possible to make one at home less than an hour. The requirements for such a pressing process are listed below:&lt;br /&gt;
* A high quality microformats logo (which can be found below the '''Logo headline''' on this page)&lt;br /&gt;
* A black t-shirt&lt;br /&gt;
* An iron-on transfer paper for '''dark t-shirts''' (note that printers doesn't print white, so there're special papers to print white on dark)&lt;br /&gt;
* An iron an a hard surface. (Ironing press with a large surface is highly recommended.)&lt;br /&gt;
* A laser printer&lt;br /&gt;
* Sharp and sensitive scissors&lt;br /&gt;
* Non-metalic heat resisting papers&lt;br /&gt;
&lt;br /&gt;
('''Warning:''' Take the instructions on the transfer paper you bought as the first reference, we're not responsible for unsuccessful attempts. Tips about pressing can change from paper to paper.)&lt;br /&gt;
&lt;br /&gt;
Firstly, you need to print the logo on the transfer paper. Transfer papers for dark t-shirts are sticky backed white papers which vary in size. You need to decide which size you want to press on your t-shirt. A4 and A3 are suitable for microformats t-shirts.&lt;br /&gt;
&lt;br /&gt;
Print the logo with a black background. The result of the paper printed should look like this: &lt;br /&gt;
&lt;br /&gt;
http://web.archive.org/web/20120528052329if_/http://i40.tinypic.com/2ylqqmb.jpg&lt;br /&gt;
&lt;br /&gt;
(You can, of course decrease, the amount of background area to save ink)&lt;br /&gt;
&lt;br /&gt;
Now it is time to separate logo from the background. Carefully clip the edges and get the logo all alone. White borders should stay with the green layers, don't make a mistake by clipping them out.&lt;br /&gt;
&lt;br /&gt;
Prepare the iron press, you will need the highest temperature with no stream to transfer successfully. Give your press at least 10 minutes to heat fully. While the iron is heating, decide which position your logo should appear. Use a ruler to check if the logo is positioned symmetrically.&lt;br /&gt;
&lt;br /&gt;
http://web.archive.org/web/20120528061614if_/http://i41.tinypic.com/2v334pc.png&lt;br /&gt;
&lt;br /&gt;
If your iron press is heated, gently peel the tiny paper on the back of the transfer paper to make it sticky. Place it on the t-shirt and put 1 or 2 non-metalic heat resisting paper of any kind on the logo. Be sure that transfer paper doesn't overlap.&lt;br /&gt;
&lt;br /&gt;
http://web.archive.org/web/20120601000105if_/http://i40.tinypic.com/kcl7gk.png&lt;br /&gt;
&lt;br /&gt;
Press the iron for 10-15 seconds. This actually depends on the paper you are using, so it is best to follow the instructions on the iron-on transfer paper you purchased. If necessary repress the iron on the whole surface for 5-10 seconds again. &lt;br /&gt;
&lt;br /&gt;
And, you made a new microformats t-shirt! Don't forget to take a picture and share.&lt;br /&gt;
&lt;br /&gt;
Note that you should hand wash your t-shirt and iron it from back carefully. Don't forget that it is also possible to use another fabrics such as bags to print microformats logos. We're waiting for your creations.&lt;br /&gt;
&lt;br /&gt;
== External online community resources ==&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* See [http://www.youtube.com/results?search_query=microformats videos of microformats on YouTube] or [http://vimeo.com/groups/microformats Vimeo], in particular, a [http://www.youtube.com/watch?v=UAV4SGpPuQI video of a microformats tshirt] ([http://www.flickr.com/photos/fumi/372068162/ photo]).&lt;br /&gt;
&lt;br /&gt;
===Social networking===&lt;br /&gt;
Groups for fans and advocates of microformats to join or follow:&amp;lt;!--listed alphabetically--&amp;gt;&lt;br /&gt;
* [http://www.facebook.com/microformats Facebook microformats fan page]&lt;br /&gt;
* [http://www.facebook.com/group.php?gid=2374732285 Facebook microformats group]&lt;br /&gt;
* [http://flickr.com/groups/microformats/ Flickr microformats group]&lt;br /&gt;
* [http://getsatisfaction.com/microformats microformats on Satisfaction]&lt;br /&gt;
* [http://twitter.com/microformats microformats on Twitter].&lt;br /&gt;
&lt;br /&gt;
=== wiki-communities ===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats Wikipedia: Project Microformats]&lt;br /&gt;
**[http://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC:%EC%9C%84%ED%82%A4%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8_%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%ED%8F%AC%EB%A7%B7 -&amp;quot; - in Korean]&lt;br /&gt;
**[http://zh.wikipedia.org/wiki/Wikipedia:%E5%B0%88%E9%A1%8C/%E5%BE%AE%E6%A0%BC%E5%BC%8F -&amp;quot; - in Chinese]&lt;br /&gt;
* [http://www.usemod.com/cgi-bin/mb.pl?MicroFormats meatball:microformats] -- a first page (stub to be reviewed) dedicated to have any review/opinion from the meatballers especially on the wiki-formats.&lt;br /&gt;
* [http://communitywiki.org/fr/MicroFormats communitywiki:microformats] -- an old multilingual page with a blockcodemachine proposal.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[advocacy]]&lt;br /&gt;
* [[buttons]]&lt;br /&gt;
* [[podcasts]]&lt;br /&gt;
* [[presentations]]&lt;br /&gt;
* [[press]]&lt;br /&gt;
* [[2d_barcodes]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=sitemap-brainstorming&amp;diff=70742</id>
		<title>sitemap-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=sitemap-brainstorming&amp;diff=70742"/>
		<updated>2024-11-18T23:21:45Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Content and class values */ note: google ignores priority and changefreq&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Sitemap Brainstorming}}&lt;br /&gt;
&lt;br /&gt;
Per the microformats [[process]] this page documents attempts to brainstorm a [[sitemap]] and related mechanisms microformat.&lt;br /&gt;
&lt;br /&gt;
'''Note''' : We define 'site mapping' as the process of generating a particular sitemap flavour, like sitemap.xml or an HTML sitemap, or something related like an HTML5 cache manifest.&lt;br /&gt;
&lt;br /&gt;
'''Note''' : Here we are attempting to derive a simple mechanism, lowest common denominator and driven by a top level HTML nav mechanism.  We are not considering crawlers etc just yet.  It is possible that later when/if we look at crawlers we may need to encode some kind of order information (for now this is explicitly defined in the order the author defined the link elements).&lt;br /&gt;
&lt;br /&gt;
== Brainstorming solution 1 ==&lt;br /&gt;
=== Content and class values ===&lt;br /&gt;
* h-sitemap required&lt;br /&gt;
** wraps a sitemap block&lt;br /&gt;
* u-url, required&lt;br /&gt;
** every link element we want included in a generated artifact must be annotated with this&lt;br /&gt;
* p-priority-x, optional&lt;br /&gt;
** only pertinent to sitemap.xml&lt;br /&gt;
** p-priority-0-0 = 0.0, p-priority-0.1 = 0.1 ... p-priority-1-0 = 1.0&lt;br /&gt;
** if the author fails to specify a priority it is sane to assume a machine may generate the default of 0.5 as per the sitemaps.org protocol&lt;br /&gt;
* p-change-x, optional&lt;br /&gt;
** only pertinent to sitemap.xml&lt;br /&gt;
** we can lift the possible values directly out of the sitemaps.org protocol (p-change-always|p-change-hourly...)&lt;br /&gt;
&lt;br /&gt;
'''Notes''': &lt;br /&gt;
* We ignore &amp;lt;code&amp;gt;lastmod&amp;lt;/code&amp;gt; for now (again only pertinent to sitemap.xml)&lt;br /&gt;
* Google (and maybe others) ignore &amp;lt;code&amp;gt;priority&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;changefreq&amp;lt;/code&amp;gt; [https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap#xml]&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
==== Simple HTML sitemap or cache manifest example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;h-sitemap&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url&amp;quot; href=&amp;quot;http://www.site.tld/&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url&amp;quot; href=&amp;quot;http://www.site.tld/section1/&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sitemap.xml example with changefreq specified ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;h-sitemap&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url p-change-daily&amp;quot; href=&amp;quot;http://www.site.tld/&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url p-change-weekly&amp;quot; href=&amp;quot;http://www.site.tld/section1/&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sitemap.xml example with changefreq and priority specified ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;h-sitemap&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url p-change-daily p-priority-1-0&amp;quot; href=&amp;quot;http://www.site.tld/&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url p-change-weekly p-priority-0-8&amp;quot; href=&amp;quot;http://www.site.tld/section1/&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== sitemap.xml example where nav mechanism is structured differently ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-sitemap&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url p-change-weekly p-priority-0-6&amp;quot; href=&amp;quot;/section1&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;span&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url p-change-monthly p-priority-0-4&amp;quot; href=&amp;quot;/section2&amp;quot;&amp;gt;Section 2&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[sitemap]]&lt;br /&gt;
* [[sitemap-examples]]&lt;br /&gt;
* [[sitemap-formats]]&lt;br /&gt;
* [[sitemap-brainstorming]]&lt;br /&gt;
* [[sitemap-issues]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=blog-redesign&amp;diff=70714</id>
		<title>blog-redesign</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=blog-redesign&amp;diff=70714"/>
		<updated>2024-09-16T21:20:42Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Simple PHP templates */ +Plates: Native PHP Templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
This page is to keep track (project management) of a 2024 microformats.org blog redesign including moving from WordPress to something based on static files in order to drastically reduce admintax and potential for future vulnerabilities/compromises.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
Preservation:&lt;br /&gt;
* All existing blog posts remain&lt;br /&gt;
* Ideally at their existing permalinks, or at least redirecting from current permalinks to new permalinks&lt;br /&gt;
* Preserve custom inline HTML and styles in blog posts&lt;br /&gt;
* Preserve existing styling and presentation of blog posts and aggregation pages in general&lt;br /&gt;
&lt;br /&gt;
Future:&lt;br /&gt;
* Able to add new blog posts occasionally (this only happens around once a year at this point)&lt;br /&gt;
&lt;br /&gt;
Maintenance:&lt;br /&gt;
* As little dynamic server code as possible to reduce the chances of vulnerabilities&lt;br /&gt;
&lt;br /&gt;
== Non-goals ==&lt;br /&gt;
* Another dynamic CMS that requires frequent software updates&lt;br /&gt;
* Redesigning the look and feel of the blog&lt;br /&gt;
* Preserving WordPress user accounts / identities (ok to replace with another identity system, IndieAuth, GitHub etc.)&lt;br /&gt;
&lt;br /&gt;
== Types of pages ==&lt;br /&gt;
Pages (URLs) to preserve:&lt;br /&gt;
* Blog top level index: https://microformats.org/blog&lt;br /&gt;
* 99 blog post permalinks: e.g. https://microformats.org/2022/02/19/how-to-consume-microformats-2-data&lt;br /&gt;
* Month pages: e.g. https://microformats.org/2018/06&lt;br /&gt;
* Tag pages: e.g. https://microformats.org/tag/microformats2&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
&lt;br /&gt;
=== Static site generator built on GitHub Actions ===&lt;br /&gt;
* Port the site to some sort of SSG that can be built on GitHub&lt;br /&gt;
* Deploy the static built files to the server&lt;br /&gt;
&lt;br /&gt;
=== Simple PHP templates ===&lt;br /&gt;
Similar to oauth.net, use simple PHP templating for the pages. ([https://github.com/aaronpk/oauth.net/blob/main/public/webauthn/index.php example source file])&lt;br /&gt;
* Another solid example from The PHP League, [https://platesphp.com/ Plates: Native PHP Templates]&lt;br /&gt;
&lt;br /&gt;
=== Static HTML archive ===&lt;br /&gt;
* Archive all pages as static HTML, including month pages and tag pages&lt;br /&gt;
* New blog post pages would exist entirely outside of the static archive&lt;br /&gt;
&lt;br /&gt;
=== Switch entire site to MediaWiki ===&lt;br /&gt;
* MediaWiki already running at &amp;lt;code&amp;gt;/wiki&amp;lt;/code&amp;gt;; update it to run at &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;; would need to add redirects so existing wiki permalinks keep working&lt;br /&gt;
* Port blog posts into wiki pages (may be issues preserving custom inline HTML and styles in blog posts?)&lt;br /&gt;
&lt;br /&gt;
== General Checklist ==&lt;br /&gt;
Before decommissioning our WordPress install:&lt;br /&gt;
* [ ] make a list of WordPress user accounts&lt;br /&gt;
* [ ] determine which WordPress user accounts belong to [[admins]] and find their equivalent GitHub usernames&lt;br /&gt;
* [ ] determine which accounts belong to blog post authors, and find their equivalent personal site to credit instead (and ideally their GitHub handle to credit wherever the raw post content is moved to)&lt;br /&gt;
* [ ] ...&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=blog-redesign&amp;diff=70712</id>
		<title>blog-redesign</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=blog-redesign&amp;diff=70712"/>
		<updated>2024-09-13T00:05:47Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Options */ Switch entire site to MediaWiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
This page is to keep track (project management) of a 2024 microformats.org blog redesign including moving from WordPress to something based on static files in order to drastically reduce admintax and potential for future vulnerabilities/compromises.&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
Preservation:&lt;br /&gt;
* All existing blog posts remain&lt;br /&gt;
* Ideally at their existing permalinks, or at least redirecting from current permalinks to new permalinks&lt;br /&gt;
* Preserve custom inline HTML and styles in blog posts&lt;br /&gt;
* Preserve existing styling and presentation of blog posts and aggregation pages in general&lt;br /&gt;
&lt;br /&gt;
Future:&lt;br /&gt;
* Able to add new blog posts occasionally (this only happens around once a year at this point)&lt;br /&gt;
&lt;br /&gt;
Maintenance:&lt;br /&gt;
* As little dynamic server code as possible to reduce the chances of vulnerabilities&lt;br /&gt;
&lt;br /&gt;
== Non-goals ==&lt;br /&gt;
* Another dynamic CMS that requires frequent software updates&lt;br /&gt;
* Redesigning the look and feel of the blog&lt;br /&gt;
* Preserving WordPress user accounts / identities (ok to replace with another identity system, IndieAuth, GitHub etc.)&lt;br /&gt;
&lt;br /&gt;
== Types of pages ==&lt;br /&gt;
Pages (URLs) to preserve:&lt;br /&gt;
* Blog top level index: https://microformats.org/blog&lt;br /&gt;
* 99 blog post permalinks: e.g. https://microformats.org/2022/02/19/how-to-consume-microformats-2-data&lt;br /&gt;
* Month pages: e.g. https://microformats.org/2018/06&lt;br /&gt;
* Tag pages: e.g. https://microformats.org/tag/microformats2&lt;br /&gt;
&lt;br /&gt;
== Options ==&lt;br /&gt;
&lt;br /&gt;
=== Static site generator built on GitHub Actions ===&lt;br /&gt;
* Port the site to some sort of SSG that can be built on GitHub&lt;br /&gt;
* Deploy the static built files to the server&lt;br /&gt;
&lt;br /&gt;
=== Simple PHP templates ===&lt;br /&gt;
Similar to oauth.net, use simple PHP templating for the pages. ([https://github.com/aaronpk/oauth.net/blob/main/public/webauthn/index.php example source file])&lt;br /&gt;
&lt;br /&gt;
=== Static HTML archive ===&lt;br /&gt;
* Archive all pages as static HTML, including month pages and tag pages&lt;br /&gt;
* New blog post pages would exist entirely outside of the static archive&lt;br /&gt;
&lt;br /&gt;
=== Switch entire site to MediaWiki ===&lt;br /&gt;
* MediaWiki already running at &amp;lt;code&amp;gt;/wiki&amp;lt;/code&amp;gt;; update it to run at &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;; would need to add redirects so existing wiki permalinks keep working&lt;br /&gt;
* Port blog posts into wiki pages (may be issues preserving custom inline HTML and styles in blog posts?)&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=xfolk-fr&amp;diff=70699</id>
		<title>xfolk-fr</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=xfolk-fr&amp;diff=70699"/>
		<updated>2024-06-20T23:54:15Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:xFolk RC1}}&lt;br /&gt;
{{DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
'''xFolk''' (de &amp;quot;xFolksonomie) est un format simple et ouvert pour publier des collections de signets. Il permet aux services de mieux améliorer l'expérience utilisateur et de partager des données dans un logiciel de signets basé sur le web. xFolk peut être embarqué dans HTML ou XHTML, Atom, RSS et le XML arbitraire. C'est l'un des nombreux [[microformats-fr|microformats]] standards ouverts.&lt;br /&gt;
&lt;br /&gt;
== Spécification Brouillon ==&lt;br /&gt;
=== Editeur/Auteur ===&lt;br /&gt;
[http://thecommunityengine.com/ Bud Gibson], ([http://thecommunityengine.com The Community Engine])&lt;br /&gt;
&lt;br /&gt;
(traduction [[Christophe Ducamp]])&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2005-fr}}&lt;br /&gt;
&lt;br /&gt;
=== Brevets ===&lt;br /&gt;
{{MicroFormatPatentStatement-fr}}&lt;br /&gt;
&lt;br /&gt;
=== Inspiration et Reconnaissances ===&lt;br /&gt;
Merci à : [http://www.cnbc.cmu.edu/~plaut/ David Plaut] qui m'a présenté l'idée que les items peuvent appartenir partiellement à beaucoup de catégories en une fois. &lt;br /&gt;
Plus récemment, merci à : [http://tantek.com/ Tantek Çelik], [http://epeus.blogspot.com/ Kevin Marks], [http://steve.osdir.com/ Steve Mallet], [http://hybernaut.com/ Brian DelVecchio] et [http://blogmarks.net François Hodierne] qui ont contribué au développement de xFolk avec des critiques sensées et des implémentations.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Les services de signets sociaux laissent les utilisateurs sauvegarder et taguer leurs signets pour les partager avec d'autres utilisateurs. Durant la dernière année, &lt;br /&gt;
le nombre de ces services a poussé comme des champignons (plus de [http://en.wikipedia.org/wiki/Social_bookmarking 20], avec des exemples comprenant : [http://del.icio.us del.icio.us], [http://furl.net furl], [http://de.lirio.us de.lirio.us], [http://jots.com jots] et [http://blogmarks.net blogmarks].  &lt;br /&gt;
&lt;br /&gt;
Le manque d'un standard ouvert et interopérable de données est une problématique majeure pour  utiliser les services de signets sociaux. Un standard ouvert ferait qu'il soit possible de collecter facilement des données signets et de les remixer pour inventer de nouveaux services du moteur expérimental de recherche de signets [http://gataga.com gataga]. Un standard ouvert ferait qu'il serait aussi possible d'écrire des javascripts qui fonctionnent transversalement sur les services  [http://johnvey.com/features/deliciousdirector/ comme le font certains actuellement pour del.icio.us], permettant des améliorations en expérience utilisateur.&lt;br /&gt;
&lt;br /&gt;
xFolk est un standard ouvert de signet social qui a pour but de parvenir à tous ces avantages. Les services de signets sociaux qui adoptent xFolk continueront à se différencier eux-mêmes des services de données. Mais, la donnée en elle-même sera facile à manipuler par des scripts tiers et sera facile à partager. En tant que résultat, les services de signets pourront offrir à leurs utilisateurs un ensemble plus large d'options à un moindre coût, et se concentrer sur ce qui les différencie vraiment. Les individus ou les groupes opérant seul des répertoires de signets auront accès à un plus large ensemble de fonctionnalités que celles qu'ils pourraient produire seuls.&lt;br /&gt;
&lt;br /&gt;
== Principes de Design XHTML Sémantique  ==&lt;br /&gt;
{{semantic-xhtml-design-principles-fr}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
Une analyse extensive des services de signets sociaux et des linkblogs, déposée [http://thecommunityengine.com/home/archives/xfolk ailleurs], révèle que les données publiées par tous les services de signets et '''beaucoup''' de linkblogs différents sont décrites par le schéma implicite suivant : &lt;br /&gt;
&lt;br /&gt;
* Un lien bookmarké ou tagué.&lt;br /&gt;
* Un titre pour l'entrée.&lt;br /&gt;
* Les tags pour le lien.&lt;br /&gt;
* Une description étendue ou un résumé du lien.&lt;br /&gt;
&lt;br /&gt;
Comme démontré dans les premières itérations du standard xFolk, ce schéma général peut être traduit en balisage par : &lt;br /&gt;
# créer un élément conteneur pour chaque entrée de la classe &amp;lt;code&amp;gt;xfolkentry&amp;lt;/code&amp;gt;, &lt;br /&gt;
# utiliser un élément &amp;lt;a&amp;gt; pour le lien bookmarké ou tagué de la classe &amp;lt;code&amp;gt;taggedlink&amp;lt;/code&amp;gt;, &lt;br /&gt;
# utiliser l'attribut title pour l'élément lien tagué &amp;lt;a&amp;gt;, s'il existe, comme l'entry title, autrement utiliser la valeur de l'élément,&lt;br /&gt;
# utiliser [[rel-tag-fr|RelTag]] pour les tags, et &lt;br /&gt;
# utiliser un élément conteneur de classe &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;, tel que &amp;amp;lt;p&amp;gt;, pour toute autre description étendue ou résumé.&lt;br /&gt;
&lt;br /&gt;
Une entrée donnée xFolk contiendra toujours un lien tagué comprenant un 'title' avec d'autres éléments optionnels. Les entrées peuvent avoir plus d'un tag tout comme plus d'un élément de classe &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;.  Plusieurs éléments de classe &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; sont triés par l'ordre du document par défaut. Les éléments sémantiques dans les entrées xFolk peuvent Ãªtre imbriqués à des profondeurs abritraires.&lt;br /&gt;
&lt;br /&gt;
Beaucoup de systèmes de signets sociaux existent, chacun d'eux avec se propres conventions de balisage. En outre, beaucoup de personnes publient déjà des blogs de liens. xFolk est conçu en priorité pour faciliter l'adoption de ces pratiques actuelles. Par conséquent, peu d'hypothèses ont été produites comme les types exacts des éléments utilisés pour une entrée xFolk. Le travail de définir la sémantique est entièrement laissé à la casse et aux valeurs d'attribut rel (dans le cas de [[rel-tag-fr|reltag]]).&lt;br /&gt;
&lt;br /&gt;
Il est attendu que les développeurs utiliseront [http://www.w3.org/TR/xpath XPath] ou une syntaxe équivalente en accédant à des éléments d'entrée xFolk. Une exigence pour xPath est que le document HTML soit bien formé mais pas nécessairement &lt;br /&gt;
valide. Par conséquent, bien que non désirable, il est possible d'utiliser xFolk dans un document HTML qui ne valide pas.&lt;br /&gt;
&lt;br /&gt;
=== XMDP Profile ===&lt;br /&gt;
&lt;br /&gt;
Voir le [[xfolk-profile-fr|xFolk profile]] pour le profil [http://gmpg.org/xmdp XMDP] de xFolk.&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
Voilà un signet échantillon comme affiché dans la syntaxe standard de [http://del.icio.us del.icio.us]. Les lignes où les attributs de classe d'éléments doivent changer pour se conformer à xFolk sont marquées avec un commentaire à la fin.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;div class=&amp;quot;post&amp;quot;&amp;amp;gt; &amp;lt;!--changera--&amp;gt;&lt;br /&gt;
  &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;a class=&amp;quot;delLink&amp;quot; href=&amp;quot;http://www.sifry.com/alerts/archives/000306.html&amp;quot;&amp;amp;gt; &amp;lt;!--changera--&amp;gt;&lt;br /&gt;
      Sifry's Alerts: Technorati launches Related Tags&lt;br /&gt;
    &amp;amp;lt;/a&amp;amp;gt; &lt;br /&gt;
  &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;div class=&amp;quot;extended&amp;quot;&amp;amp;gt; &amp;lt;!--will change--&amp;gt;&lt;br /&gt;
    Ever wanted to see what posts are related to other posts, what tags &lt;br /&gt;
    are related to others? Now you can! Just check under the Tag &lt;br /&gt;
    description on most tag pages, like this one, or this one, and you'll&lt;br /&gt;
    see the patterns. Can you smell the emergence?&lt;br /&gt;
  &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;div class=&amp;quot;meta&amp;quot;&amp;amp;gt;&lt;br /&gt;
    to&lt;br /&gt;
    &amp;amp;lt;a class=&amp;quot;delNav&amp;quot; href=&amp;quot;/fpgibson/folksonomy&amp;quot;&amp;amp;gt;folksonomy&amp;amp;lt;/a&amp;amp;gt; &amp;lt;!--changera--&amp;gt;&lt;br /&gt;
    &amp;amp;lt;a class=&amp;quot;delNav&amp;quot; href=&amp;quot;/fpgibson/technorati&amp;quot;&amp;amp;gt;technorati&amp;amp;lt;/a&amp;amp;gt; &amp;lt;!--changera--&amp;gt;&lt;br /&gt;
    ... &amp;amp;lt;a class=&amp;quot;delNav&amp;quot; href=&amp;quot;/url/cbcabf7de070fdb46598ee679367be49&amp;quot;&amp;amp;gt;&lt;br /&gt;
    and 1 other person&lt;br /&gt;
    &amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
    ... on 2005-04-09&lt;br /&gt;
  &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'équivalent dans xFolk se fait comme suit. Les commentaires sont placés à la fin des lines oÃ¹ les modifiations d'attribut de classe sont requises&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;div class=&amp;quot;xfolkentry&amp;quot;&amp;amp;gt; &amp;lt;!-- changé --&amp;gt;&lt;br /&gt;
  &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;a class=&amp;quot;taggedlink&amp;quot; href=&amp;quot;http://www.sifry.com/alerts/archives/000306.html&amp;quot;&amp;amp;gt; &amp;lt;!-- changé --&amp;gt;&lt;br /&gt;
      Sifry's Alerts: Technorati launches Related Tags&lt;br /&gt;
    &amp;amp;lt;/a&amp;amp;gt; &lt;br /&gt;
  &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;div class=&amp;quot;description&amp;quot;&amp;amp;gt; &amp;lt;!-- changed --&amp;gt;&lt;br /&gt;
    Ever wanted to see what posts are related to other posts, what tags &lt;br /&gt;
    are related to others? Now you can! Just check under the Tag &lt;br /&gt;
    description on most tag pages, like this one, or this one, and you'll&lt;br /&gt;
    see the patterns. Can you smell the emergence?&lt;br /&gt;
  &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;div class=&amp;quot;meta&amp;quot;&amp;amp;gt;&lt;br /&gt;
    to&lt;br /&gt;
    &amp;amp;lt;a rel=&amp;quot;tag&amp;quot; href=&amp;quot;/fpgibson/folksonomy&amp;quot;&amp;amp;gt;folksonomy&amp;amp;lt;/a&amp;amp;gt; &amp;lt;!-- changé --&amp;gt;&lt;br /&gt;
    &amp;amp;lt;a rel=&amp;quot;tag&amp;quot; href=&amp;quot;/fpgibson/technorati&amp;quot;&amp;amp;gt;technorati&amp;amp;lt;/a&amp;amp;gt; &amp;lt;!-- changé --&amp;gt;&lt;br /&gt;
    ... &amp;amp;lt;a class=&amp;quot;delNav&amp;quot; href=&amp;quot;/url/cbcabf7de070fdb46598ee679367be49&amp;quot;&amp;amp;gt;&lt;br /&gt;
    and 1 other person&lt;br /&gt;
    &amp;amp;lt;/a&amp;amp;gt;&lt;br /&gt;
    ... on 2005-04-09&lt;br /&gt;
  &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convertir le balisage pour être conforme à xFolk est presque toujours aussi facile. L'avantage de xFolk est que cela fournit un ensemble d'attributs de classe qui peuvent être réutilisés sur tous les services et blogs de liens, presque toujours sans aucune perte de granularité. La prochaine section présentera plusieurs autres exemples pour illustrer ce point.&lt;br /&gt;
&lt;br /&gt;
Un autre exemple simple (utilisant le marquage listes) :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;!--xfolk traite de *collections* de bookmarks--&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;ul class=&amp;quot;xfolkentry&amp;quot;&amp;gt; &lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;taggedlink&amp;quot; href=&amp;quot;http://microformats.org/wiki/Main_Page-fr&amp;quot;&amp;gt;microformats wiki&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li class=&amp;quot;description&amp;quot;&amp;gt;L'endroit principal pour comprendre les microformats et jouer avec...&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li class=&amp;quot;description&amp;quot;&amp;gt;Wiki piloté par une communauté&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li class=&amp;quot;meta&amp;quot;&amp;gt;&lt;br /&gt;
	Tags :&lt;br /&gt;
	&amp;lt;a rel=&amp;quot;tag&amp;quot; href=&amp;quot;http://del.icio.us/tag/microformats&amp;quot;&amp;gt;microformats&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;a rel=&amp;quot;tag&amp;quot; href=&amp;quot;http://del.icio.us/tag/websocial&amp;quot;&amp;gt;websocial&amp;lt;/a&amp;gt;&lt;br /&gt;
	&amp;lt;a rel=&amp;quot;tag&amp;quot; href=&amp;quot;http://del.icio.us/tag/semantics&amp;quot;&amp;gt;semantics&amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
   &amp;lt;!--Une autre xfolkentry comme ci-dessus, et ainsi de suite ...--&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Beaucoup plus d'exemples ==&lt;br /&gt;
&lt;br /&gt;
Nous avons de nombreux exemples pour aider les développeurs à incorporer xFolk dans leurs sites.&lt;br /&gt;
&lt;br /&gt;
=== Dans la jungle ===&lt;br /&gt;
&lt;br /&gt;
Ce sont de vrais exemples de systèmes qui fonctionnent et qui publient les signets dans xFolk. Ceci est une endroit idéal pour commencer à regarder des exemples &amp;quot;dans la jungle&amp;quot; pour essayer de parser, indexer, organiser, etc. Si vous publiez en utilisant xFolk, sentez-vous à l'aise pour ajouter '''en haut''' de cette liste. Une fois que la liste sera trop grosse, nous ferons une page wiki séparée.&lt;br /&gt;
&lt;br /&gt;
* [http://greenvoice.com Greenvoice] a une liste de liens environnementaux générée par les utilisateurs, qui est marquée avec xFolk.&lt;br /&gt;
* [http://www.idoneos.com Idoneos.com], une collection conceptuellement en réseau de pages d'informations (essentiellement en espagnol), tague les signets avec xFolk.&lt;br /&gt;
* [http://ashaszin.lautre.net/ Ashaszin] - Petit blog tournant sous [http://spip.net SPIP] : les liens del.icio.us et fils web sont tagués avec xFolk .&lt;br /&gt;
* [http://www.rolandinsh.lv/blog/ Rolands Umbrovskis - blog] tous les billets sont marqués avec xFolk.&lt;br /&gt;
* [http://www.bbc.co.uk/worldservice/bangladeshboat BBC World Service Bangladesh River Journey] et un mashup de réseau social, il utilise xFolk pour les entrées de signets hAtom. voir la [http://dharmafly.com/blog/bangladeshboat discussision blog Dharmafly].&lt;br /&gt;
* [http://waferbaby.com/hussy waferbaby's Hussy] publie actuellement les liens en utilisant xFolk.&lt;br /&gt;
* [http://unalog.com unalog] publie actuellement tous les liens partagés (y compris les résultats de recherche) en utilisant xFolk.&lt;br /&gt;
* [http://smarking.com/ Smarking] publie actuellement tous les liens partagés (y compris les résultats de recherche) en utilisant xFolk.&lt;br /&gt;
* [http://de.lirio.us de.lirio.us] publie actuellement ses signets en utilisant xFolk (avec l'attribut de classe déprécié  &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; a lieu de &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;, voir [[xfolk-profile-fr| le XMDP]]).&lt;br /&gt;
* [http://dev.blogmarks.net/wiki/BlogSync blogmarks] exporte actuellement les signets vers les blogs en xFolk (défilez plus bas pour voir l'exemple d'export sur la page ; l'attribut de classe déprécié &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; est utilisé au lieu de &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;, voir [[xfolk-profile-fr| le XMDP]]).&lt;br /&gt;
* [http://thecommunityengine.com The Community Engine] utilise xFolk (avec l'attribut de classe déprécié &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; utilisé au lieu de &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;, voir [[xfolk-profile-fr| le XMDP]]) pour ses [http://thecommunityengine.com/home entrées principales] et pour ses [http://thecommunityengine.com/webcites signets republiés].&lt;br /&gt;
* [http://groovymother.com/links/ Groovy Links] est un blog de liens qui est balisé avec xFolk.&lt;br /&gt;
* [http://tommorris.org/blog/ Tom Morris] - les liens quotidiens del.icio.us sont marqués avec xFolk, [[hcard-fr|hCard]] et [[vote-links-fr|vote-links]].&lt;br /&gt;
&lt;br /&gt;
=== Services de signets sociaux supplémentaires ===&lt;br /&gt;
Cet exemple illustre comment xFolk peut être appliqué à un service additionnel : &lt;br /&gt;
&lt;br /&gt;
* [[xfolk-scuttle-fr| scuttle]]&lt;br /&gt;
&lt;br /&gt;
=== Blogs de liens ===&lt;br /&gt;
&lt;br /&gt;
Les services de signets sociaux sont seulement les exemples les plus récents de personnes publiant des liens. Les blogs de liens ont presque toujours existé depuis le début du blogging. Ils représentent en quelque sorte plus qu'un défi pour xFolk parce que leurs balisages tendent à Ãªtre moins sémantiques qu'au début. Les exemples suivants illustrent quelques défis particuliers et comment ils peuvent Ãªtre surmontés.&lt;br /&gt;
&lt;br /&gt;
* [[xfolk-kottke | kottke]]&lt;br /&gt;
* [[xfolk-pollas | pollas]]&lt;br /&gt;
* [[xfolk-jacobian | jacobian]]&lt;br /&gt;
* [[xfolk-julian-bez | julian-bez]]&lt;br /&gt;
&lt;br /&gt;
=== Spam === &lt;br /&gt;
Quelques spammers sont en train d'ajouter des tags xFolk à leurs fermes à liens. (C'est probablement une mauvaise idée de lier vers ces sites). Par exemple : &lt;br /&gt;
* phontron.info&lt;br /&gt;
&lt;br /&gt;
== Implémentations ==&lt;br /&gt;
Les implémentations suivantes ont été développées et elles génèrent ou utilisent xFolk. Si vous avez une implémentation xFolk, sentez-vous à l'aise pour l'ajouter en haut de cette liste. Une fois que la liste sera trop grosse, nous ferons une page wiki séparée.&lt;br /&gt;
* [http://bildu.net Bildu] un service de bookmarking social en Basque qui  supporte xFolk (et aussi rel-tag).&lt;br /&gt;
* [http://bookmarks.excite.co.uk/ Excite Bookmarks] un service de bookmarking social qui supporte xFolk et rel-tag.&lt;br /&gt;
* [http://buzka.com Buzka], un service de signet social supporte maintenant xFolk&lt;br /&gt;
* [http://blip.tv Blip.tv], un site d'hébergement vidéo [http://blog.blip.tv/blog/2006/08/19/blip-supports-xfolk/ supporte maintenant xFolk].&lt;br /&gt;
* [http://www.s9y.org/ Serendipity], une application de Blogging/CMS motorisée par PHP a maintenant un [http://www.numblog.de/archives/241-Social-Bookmarks-Plugin-for-Serendipity.html plugin de signets sociaux] qui supporte xFolk.&lt;br /&gt;
* [http://claimid.com claimID] a implémenté xFolk pour les liens vers les personnes.&lt;br /&gt;
* [http://ma.gnolia.com ma.gnolia] supporte maintenant xFolk.&lt;br /&gt;
* [http://smarking.com/ Smarking.com] (un service de signet social) balise ses liens tagués avec xFolk ! truc : [http://3spots.blogspot.com/2006/05/social-bookmarking-smarking.html 3spots: Social + bookMARKING = Smarking] qui lui-mÃªme est un [[hreview-fr|hReview]].&lt;br /&gt;
* [http://blog.codeeg.com/2006/03/20/flock-tails-flocktails/ Flocktails] - port de l'extension Tails pour Flock 0.5.12 qui cherche les hCards, hCalendar, xFolk et hReview et les porte dans une barre supérieure à portée de main.&lt;br /&gt;
* [http://blog.codeeg.com/tails-firefox-extension/ Tails est une Extension Firefox] qui affiche la présence de microformats ([[hcard-fr|hCard]], [[hcalendar-fr|hCalendar]], [[hreview-fr|hReview]], [[xfolk-fr|xFolk]]) sur une page web.&lt;br /&gt;
* Bud Gibson et Mike Migurski [http://thecommunityengine.com/home/archives/2005/09/vegomatic_an_al.html ont écrit] [http://thecommunityengine.com/veg-o-matic veg-o-matic], un outil et service xFolk de reblogging.&lt;br /&gt;
* [http://inside.glnetworks.de/ Martin Rehfeld] a mis à jour le travail de [http://blogmatrix.blogmatrix.com/ David Janes] et produit un [http://inside.glnetworks.de/2006/06/05/microformats-have-arrived-in-firefox-15-greasemonkey-06/ script] [[Greasemonkey-fr|GreaseMonkey]] qui trouve beaucoup d'éléments microformats, y compris xFolk et [http://blog.davidjanes.com/mtarchives/2005_08.html#003379 fournit un menu en popup d'actions]. ''Ceci fonctionnera maintenant avec FireFox 1.5+/GreaseMonkey 0.6.4+.''&lt;br /&gt;
* [http://www.midgard-project.org/midcom-permalink-6416db7e1f0e297b4cf3dcc285702a8d net.nemein.bookmarks], le gestionnaire de signets dans [http://www.midgard-project.org/ Midgard CMS] utilise xFolk comme le format natif de production, avec un ajout &amp;lt;code&amp;gt;abbr class=posted&amp;lt;/code&amp;gt; pour la date de publication et &amp;lt;code&amp;gt;abbr class=poster&amp;lt;/code&amp;gt; pour l'utilisateur qui a ajouté le signet. Vor l'[http://bergie.iki.fi/links/ exemple]&lt;br /&gt;
* [http://de.lirio.us de.lirio.us] publie actuellement ses signets en utilisant xFolk 0.4 (l'attribut de classe &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; est utilisé au lieu de &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;).&lt;br /&gt;
* [http://dev.blogmarks.net/wiki/BlogSync blogmarks] exporte actuellement les signets vers les blogs en xFolk 0.4 (scrollez vers le bas pour voir l'exemple d'exportation sur la page ; l'attribut de classe &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; est utilisé au lieu de &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;).&lt;br /&gt;
* [http://pokkari.com/microformat/javadoc/ Sivitols] est une librairie Java pour les microformats. Actuellement seul le standard xFolk RC1 est implémenté mais le support microformat additionnel est planifié. (adapté à partir de [http://blog.blip.tv/blog/microformats/])&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
=== Références Normatives ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [[rel-tag-fr|rel-tag]]&lt;br /&gt;
&lt;br /&gt;
=== Références Informatives  ===&lt;br /&gt;
* [http://thecommunityengine.com/home/archives/xfolk articles about xFolk]&lt;br /&gt;
* [http://thecommunityengine.com/home/archives/tags/microformats articles about the business value of microformats]&lt;br /&gt;
* [http://gataga.com gataga social bookmark search engine]&lt;br /&gt;
* [http://johnvey.com/features/deliciousdirector/ an ajax based interface for del.icio.us]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Social_bookmarking social bookmarking defined at wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Travaux similaires ===&lt;br /&gt;
* [[hreview-fr| hReview]]&lt;br /&gt;
&lt;br /&gt;
== Chantier en cours ==&lt;br /&gt;
Bien que cette spécification ait récemment commencé à se stabiliser comme indiqué par la version RC1, c'est encore un chantier en cours. Si garantie, je suis prÃªt à aller vers plusieurs versions candidates pour parvenir à l'objectif de produire des entrées de signets plus généralement accessibles avec un format aussi léger que possible. Tous les changements depuis la dernière itération ont été motivés par l'expérience d'implémentations des développeurs tentant de parvenir à cet objectif. Des changements plus en profondeur seront aussi probablement motivés par les problèmes d'implémentation. Voir &amp;quot;directions futures&amp;quot; ci-dessous pour des possibilités supplémetaires de microformat.&lt;br /&gt;
&lt;br /&gt;
=== Changements depuis xFolk 0.4 ===&lt;br /&gt;
La valeur de l'attribut de classe &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; a été dépréciée en faveur de &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; pour mieux se conformer à d'autres usages de microformats et quelques requÃªtes durant l'implémentation. L'autre changement a été de permettre l'utilisation de plusieurs éléments de classe &amp;lt;code&amp;gt;extended&amp;lt;/code&amp;gt; basés sur quelque cas d'utilisation découverts dans l'implémentation.&lt;br /&gt;
&lt;br /&gt;
=== Directions futures ===&lt;br /&gt;
Il y a plusieurs extenstion qu'on pourrait imaginer pour xFolk.  Fréquemment, ces extensions sont mieux abouties en combinant xFolk avec un autre microformat. Par exemple, on pourrait vouloir indiquer son évaluation de l'item mis en signet. Ceci pourrait Ãªtre réalisé en utilisant [[vote-links-fr| Vote Links]] ou [[hreview-fr | hReview]] avec xFolk.&lt;br /&gt;
&lt;br /&gt;
On peut aussi imaginer d'étendre xFolk pour fournir des données conformes avec plusieurs APIs de services de signets sociaux, par exemple pour fournir tous les signets par tag. Ces APIs sont actuellement trop fluides pour la spécification de quelque type de standard. Les APIs et la fonctionnalité qu'elles fournissent représentent un moyen dont les services de signets sociaux et les méta-services peuvent eux-mÃªmes se différencier.&lt;br /&gt;
&lt;br /&gt;
Un format compagnon appelé &amp;quot;xFolk definition&amp;quot; est en développement.  &amp;quot;xFolk definition&amp;quot; fournira un moyen de définir explicitement les tags utilisés dans les signets sociaux.&lt;br /&gt;
&lt;br /&gt;
=== Brainstorming ===&lt;br /&gt;
* [[xfolk-brainstorming-fr|xFolk brainstorming]]&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;R ===&lt;br /&gt;
* Si vous avez quelque question à propos d'xFolk, regardez les [[xfolk-faq-fr|FAQ xFolk]], et si vous ne trouvez pas de réponses, ajoutez vos questions !&lt;br /&gt;
&lt;br /&gt;
=== Problématiques ===&lt;br /&gt;
* SVP, ajoutez toute problématique avec la spécification au document séparé [[xfolk-issues-fr| xFolk issues]].&lt;br /&gt;
&lt;br /&gt;
==Pages apparentées== &lt;br /&gt;
{{template:xfolk-related-pages-fr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:xFolk]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-home&amp;diff=70698</id>
		<title>rel-home</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-home&amp;diff=70698"/>
		<updated>2024-06-20T23:51:25Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:rel=&amp;quot;home&amp;quot;}}&lt;br /&gt;
{{DraftSpecification}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Draft Specification 2005-12-07 ==&lt;br /&gt;
=== Editor/Author ===&lt;br /&gt;
[http://dannyayers.com Danny Ayers]&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2005}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
Rel-Home is one of several [[MicroFormats]].  By adding &amp;lt;code&amp;gt;rel=&amp;quot;home&amp;quot;&amp;lt;/code&amp;gt; to a hyperlink, a page indicates that the destination of that hyperlink is the homepage of the site in which the current page appears. When the appropriate HTML Meta data profile is in use, the &amp;quot;home&amp;quot; type can be used alongside standard [http://www.w3.org/TR/html4/types.html#type-links Link Types]. &lt;br /&gt;
&lt;br /&gt;
Example usage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;link href=&amp;quot;http://technorati.com&amp;quot; rel=&amp;quot;home&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rel value may also appear wherever an anchor link may appear, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://technorati.com&amp;quot; rel=&amp;quot;home&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the author indicates that the linked page is the homepage of the site.&lt;br /&gt;
&lt;br /&gt;
The linked page {{should}} exist. Use of an absolute URI is recommended.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
rel=&amp;quot;home&amp;quot; is designed for site navigation purposes, as well as allowing some description of site structure to be derived from individual pages. Typical use might be in the archive pages of a weblog, pointing back to the front page.&lt;br /&gt;
&lt;br /&gt;
== XMDP profile ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;dl class=&amp;quot;profile&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dt id=&amp;quot;rel&amp;quot;&amp;gt;rel&amp;lt;/dt&amp;gt;&lt;br /&gt;
 &amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;lt;a rel=&amp;quot;help&amp;quot; href=&amp;quot;http://www.w3.org/TR/html401/struct/links.html#adef-rel&amp;quot;&amp;gt;&lt;br /&gt;
     HTML4 definition of the 'rel' attribute.&amp;lt;/a&amp;gt;  &lt;br /&gt;
   Here is an additional value.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;dl&amp;gt;&lt;br /&gt;
   &amp;lt;dt id=&amp;quot;home&amp;quot;&amp;gt;home&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;Indicates that the referred resource serves as the homepage, &lt;br /&gt;
       of the site which includes the referring page.&amp;lt;/dd&amp;gt;&lt;br /&gt;
  &amp;lt;/dl&amp;gt;&lt;br /&gt;
 &amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples in the Wild==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following sites have implemented rel-home, and thus are a great place to start for anyone looking for examples &amp;quot;in the wild&amp;quot; to try parsing, indexing, organizing etc. If your site is marked up with rel-home, feel free to add it to the '''bottom''' of this list. Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&lt;br /&gt;
* [http://www.my-warehouse.de the my-Warehouse shopsystem] implements rel-home into the breadcrumb.&lt;br /&gt;
* [http://www.sunfactory.fr/en/gift-ideas/ Sun Factory] implements rel-home into the breadcrumb.&lt;br /&gt;
* http://chrisruppel.com uses rel-home as a link in the &amp;lt;head&amp;gt;&lt;br /&gt;
* [http://www.cleanertoday.com Cleaner Today] uses multiple implementations: 1) [http://www.cleanertoday.com/Moth-Traps-by-Catchmaster-s/85.htm Moth Trap] page uses rel-home in &amp;lt;head&amp;gt;  2) [http://www.cleanertoday.com/Spider-traps-s/86.htm Spider Traps] page uses rel=&amp;quot;home&amp;quot; on Corner Logo Link &amp;amp; &amp;quot;Home&amp;quot; link in the footer.&lt;br /&gt;
* [http://www.jdclark.org/ www.jdclark.org] uses rel-home on virtually all web pages within the domain and its sub-domains (for example, please see [http://www.jdclark.org/card Jordan Clark's profile]).&lt;br /&gt;
* Tantek.com posts (e.g. [http://tantek.com/2011/220/b1/web-actions-a-new-building-block Web Actions: Identifying A New Building Block For The Web]) use rel=&amp;quot;home&amp;quot; as part of the link to the site's alternate feed as such: &amp;lt;nowiki&amp;gt;&amp;lt;link rel=&amp;quot;home updates alternate&amp;quot; type=&amp;quot;application/atom+xml&amp;quot; href=&amp;quot;http://tantek.com/updates.atom&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt; to indicate that the link is an ''alternate'' for a page that is also the ''home'' for the current page, rather than an alternate for the current page.&lt;br /&gt;
* [http://www.fastquotes.co.za fastQuotes] uses rel-home on every page in multiple locations.&lt;br /&gt;
* [http://www.9thCO.com 9thCO] uses rel=&amp;quot;home&amp;quot; in &amp;lt;head&amp;gt;. 9thCO follows all web standards and is happy to embrace the new Rel-Home microformat specification.&lt;br /&gt;
* [http://lllooolll.com Lol x3] implemented rel=home in the head sitewide, together with other rel's and hreflang.&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
The following implementations have been developed which either generate or parse rel-home links. &lt;br /&gt;
&lt;br /&gt;
''Ed. : links to follow''&lt;br /&gt;
&lt;br /&gt;
* Opera browser supports rel=&amp;quot;home&amp;quot;&lt;br /&gt;
* [http://cdn.mozdev.org/linkToolbar/ FireFox Link Toolbar] - need to confirm&lt;br /&gt;
* [https://addons.mozilla.org/firefox/1324/ cmSiteNavigation Toolbar] - Firefox Extension that supports rel=&amp;quot;home&amp;quot; and rel=&amp;quot;directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/REC-html40/ HTML 4]&lt;br /&gt;
* [http://www.w3.org/TR/xhtml1/ XHTML 1]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* RFC 3986 specifies URL syntax&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://diveintoaccessibility.org/day_9_providing_additional_navigation_aids.html Dive Into Accessibility] (Mark Pilgrim)&lt;br /&gt;
&lt;br /&gt;
''Ed. : need to track down previous discussions, e.g. re. Opera''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about rel-home, check the [[rel-faq|rel FAQ]], and if you don't find answers, add your questions!&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
* Please add any issues with the specification to the separate [[rel-home-issues|rel-home issues]] document.&lt;br /&gt;
&lt;br /&gt;
=== Brainstorming ===&lt;br /&gt;
If this section gets too large (and is not just incorporated into the draft), it can be moved to [[rel-home-brainstorming]].&lt;br /&gt;
&lt;br /&gt;
==== use with rel-alternate ====&lt;br /&gt;
===== rel-alternate and type =====&lt;br /&gt;
Many blog post permalink pages have feed autodiscovery links that link from the permalink page via a link element to the feed for the site using just rel=&amp;quot;alternate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This is semantically incorrect as the feed is an alternate for the *site*, not the permalink page.&lt;br /&gt;
&lt;br /&gt;
rel=&amp;quot;home&amp;quot; could (and should) be used with [[rel-alternate]] to link from a permalink page to the feed for the site (home page). e.g. on tantek.com permalink pages (e.g. [http://tantek.com/2011/220/b1/web-actions-a-new-building-block recent post]), here's a simplified version of the markup:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;home alternate&amp;quot; type=&amp;quot;application/atom+xml&amp;quot; href=&amp;quot;../updates.atom&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This way a feed reader / indexer / search engine knows that the link represents an ''alternate'' for the ''home'' page relative to the current page, not an alternate for the page itself.&lt;br /&gt;
&lt;br /&gt;
There is one known exception which is that if the alternate link is a feed to the ''comments'' on that post, then that would make sense as an actual alternate representation of the post permalink page.&lt;br /&gt;
&lt;br /&gt;
Implementations (consuming parsers) could thus treat these two types of 'alternate' links differently to provide the user a better experience, e.g. with separate buttons for:&lt;br /&gt;
* Subscribe to this site&lt;br /&gt;
* Subscribe to the comments on this post&lt;br /&gt;
&lt;br /&gt;
===== rel-alternate and hreflang =====&lt;br /&gt;
It might make sense for links from pages of one language anywhere on a site when linking to the home page of another language on a site to use rel-alternate with rel-home and hreflang together. &lt;br /&gt;
&lt;br /&gt;
To see if it's worth specifying that however, we'd need to document real world examples of pages linking this way first. &lt;br /&gt;
&lt;br /&gt;
===== FAQ home alternate =====&lt;br /&gt;
Frequently asked questions about rel=&amp;quot;home alternate&amp;quot; (likely merits inclusion in [[rel-faq]]).&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Doesn't rel=&amp;quot;home alternate&amp;quot; mean it's the home page ''and'' it's an alternate independently? (as asked [http://krijnhoetmer.nl/irc-logs/microformats/20110810#l-84], [https://twitter.com/tabatkins/status/101391569160114176], [https://twitter.com/apparentlymart/status/101481300086620161])&lt;br /&gt;
** No. That's not [http://dev.w3.org/html5/spec/semantics.html#attr-link-rel how rel works]. Rel values combine. E.g. &amp;lt;code&amp;gt;[http://www.w3.org/TR/html4/present/styles.html#h-14.3.1 rel=&amp;quot;alternate stylesheet&amp;quot;]&amp;lt;/code&amp;gt; has worked this way for over a decade. Rel values also combine with other attributes, e.g. use &amp;lt;code&amp;gt;rel=&amp;quot;alternate&amp;quot; media=&amp;quot;handheld&amp;quot;&amp;lt;/code&amp;gt; on a link to a separate mobile-specific version of a page. [[User:Tantek|Tantek]] 20:56, 10 August 2011 (UTC)&lt;br /&gt;
*** This seems to contradict the spec: &amp;quot;if a single link element has a rel attribute with the value next stylesheet, it creates both a hyperlink (for the next keyword) and an external resource link (for the stylesheet keyword)&amp;quot; implying that they are independant and not related. -- [[User:Singpolyma|Singpolyma]] 21:43, 10 August 2011 (UTC)&lt;br /&gt;
**** That's a ''non-normative NOTE'' documentation of what &amp;lt;code&amp;gt;rel=&amp;quot;next stylesheet&amp;quot;&amp;lt;/code&amp;gt; and (subsequently in a non-normative example) &amp;lt;code&amp;gt;rel=&amp;quot;author license&amp;quot;&amp;lt;/code&amp;gt; mean, and thus (being non-normative) not something you can derive any implications from. The ''normative'' language of the spec says: &amp;lt;strong&amp;gt;&amp;quot;exactly which and how many links are created depends on the keywords given in the rel attribute&amp;quot;&amp;lt;/strong&amp;gt; which is precisely correct and provides us the flexibility to define combinations as having meanings. (Note that it does NOT say: create one link per rel value, which it would if the rel values were actually independent, which you can't say in general that they are.) -- [[User:Tantek|Tantek]] 21:54, 10 August 2011 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== discuss home alternate =====&lt;br /&gt;
Go to [[irc|the #microformats IRC channel on Freenode]] to discuss rel=&amp;quot;home alternate&amp;quot;. Additionally if you have a specific opinion, of support/rejection/neutrality and optionally reasons why, feel free to record your (+1/-1) etc. here:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* +1 [[User:Tantek|Tantek]] - as [http://krijnhoetmer.nl/irc-logs/microformats/20110810#l-61 proposed/discussed in IRC]&lt;br /&gt;
* +1 [http://krijnhoetmer.nl/irc-logs/microformats/20110810#l-79 DGlazkov] - &amp;quot;home alternate&amp;quot; sounds reasonably intuitive&lt;br /&gt;
* +1 [[User:Kevin Marks|Kevin Marks]] though need to check behavior in browsers that support rel-home on link&lt;br /&gt;
* -1 [[User:SEOTOC | Oleg G.]] even HTML5 holding rel-home on draft&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== use with lang ====&lt;br /&gt;
* Edit: Sabin Simionescu: I have a proposal: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;home&amp;quot; href=&amp;quot;http://www.example.com'''/&amp;quot; lang=&amp;quot;en&amp;quot;''' /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;home&amp;quot; href=&amp;quot;http://www.example.com'''/de/&amp;quot; lang=&amp;quot;de&amp;quot;''' /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multilingual sites have multiple home pages. I have looked closely at this rel-home specification, and while it looks very good for SEO applications, users would benefit from a language option as well.&lt;br /&gt;
&lt;br /&gt;
My proposal is to specify all ACTIVE languages of the site using rel-home.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''Proposal misunderstands &amp;quot;lang&amp;quot; attribute.''' Instead of &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt;, use the &amp;lt;code&amp;gt;hreflang&amp;lt;/code&amp;gt; attribute to specify the language of the destination of an href (e.g. on &amp;lt;code&amp;gt;&amp;amp;lt;link&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;lt;a&amp;gt;&amp;lt;/code&amp;gt; tags). The &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt; attribute is only for the contents of the element itself, which in the link tag examples above, would only apply to the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute if any. - [[User:Tantek|Tantek]] 01:00, 24 December 2012 (UTC)&lt;br /&gt;
* '''This proposal is likely unnecessary.''' Use [[rel-alternate#alternate_language_versions|rel=&amp;quot;alternate&amp;quot; with hreflang]] to link to different language versions of a page. - 01:00, 24 December 2012 (UTC)&lt;br /&gt;
** '''Needs URLs to real world examples of such linking behavior.''' Using rel-alternate with rel-home and hreflang together might make sense for links from pages of one language anywhere on a site to link to the home page of another language on a site. To see if it's worth specifying that however, we'd need to document real world examples of pages linking this way first. - [[User:Tantek|Tantek]] 01:00, 24 December 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[rel-alternate]], in particular [[rel-alternate#special_combinations|special combinations]]&lt;br /&gt;
* [[existing-rel-values]]&lt;br /&gt;
* [[rel-faq]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:rel-home]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hreview-v0.3&amp;diff=70697</id>
		<title>hreview-v0.3</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hreview-v0.3&amp;diff=70697"/>
		<updated>2024-06-20T23:50:03Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:hReview 0.3}}&lt;br /&gt;
&lt;br /&gt;
This is previous ''snapshot'' of the [[hReview]] specification.&lt;br /&gt;
&lt;br /&gt;
Please see the latest [[hReview]] draft.&lt;br /&gt;
&lt;br /&gt;
{{DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
[[hreview|hReview]] is a simple, open, distributed format, suitable for embedding reviews (of products, services, businesses, events, etc.) in HTML, XHTML, Atom, RSS, and arbitrary XML. hReview is one of several [[microformats]] open standards.&lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an [[hreview|hReview]]?  Use the [http://microformats.org/code/hreview/creator hReview creator] to write a review and publish it.&lt;br /&gt;
&lt;br /&gt;
== Microformats Draft Specification 2006-02-22 ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;url&amp;quot;&amp;gt;http://tantek.com/&amp;lt;/span&amp;gt;, and before at [http://technorati.com Technorati, Inc.])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
; Authors&lt;br /&gt;
: [[User:Tantek|Tantek Çelik]] (affiliations above)&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://360.yahoo.com/alidiabali Ali Diab]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://yahoo.com Yahoo! Inc.])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://ianmcall.blogspot.com/ Ian McAllister]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://amazon.com/ Amazon.com])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://journals.aol.com/panzerjohn/abstractioneer John Panzer]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://www.aol.com America Online, Inc.])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://ifindkarma.com/blog Adam Rifkin]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://labs.commerce.net/ CommerceNet Labs])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://sippey.typepad.com/ Michael Sippey]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://sixapart.com Six Apart, Ltd])&lt;br /&gt;
&lt;br /&gt;
[[hreview#Copyright|copyright]] and [[hreview#Patents|patents]] statements apply.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
hReview 0.3 is a microformats.org draft specification. Public discussion on hReview takes place on [[hreview-feedback]], the #microformats [[irc]] channel on irc.freenode.net, and [http://microformats.org/discuss/mail/microformats-discuss/ microformats-discuss mailing list].&lt;br /&gt;
&lt;br /&gt;
=== Available languages ===&lt;br /&gt;
The English version of this specification is the only normative version. For translations of this document see the [[#translations]] section.&lt;br /&gt;
&lt;br /&gt;
=== Errata and Updates ===&lt;br /&gt;
Known errors and issues in this specification are corrected in [[hreview-issues-resolved|resolved]] and [[hreview-issues-closed|closed]] issues. Please check there before reporting [[hreview-issues|issues]].&lt;br /&gt;
&lt;br /&gt;
The hReview 0.4 update is currently under development and incorporates known errata corrections as well as the [[value-class-pattern]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Numerous web sites publish reviews using a broad variety of schema for all sorts of things from products (movies, music, books), to businesses (restaurants, hotels, stores), to events (concerts, theatre), to people (artists, leaders, celebrities), to places (landmarks, parks), to online resources (web pages, files), to reviews of reviews themselves.&lt;br /&gt;
&lt;br /&gt;
In order to enable and encourage the sharing, distribution, syndication, and aggregation, of reviews, the authors propose the hReview microformat, an open standard for distributed reviews.  The authors have researched both numerous [[review-examples]] in the wild and earlier attempts at [[review-formats]], and have designed hReview around a simple minimal schema for reviews.  Feedback is encouraged on the [[hreview-feedback|hReview feedback]] page.&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
=== Scope ===&lt;br /&gt;
Reviews consistently share several common aspects.  Where possible hReview has been based on this minimal common subset.&lt;br /&gt;
&lt;br /&gt;
==== Out of scope ====&lt;br /&gt;
Portions of reviews that are specific to particular kinds of items have been omitted from hReview.  It is important that hReview be kept simple and minimal from the start.  Additional features can be added as deemed necessary by practical implementation experience.&lt;br /&gt;
&lt;br /&gt;
The concept of a &amp;quot;universal object identifier&amp;quot;, that is, how to identify the same object/item/product across different shopping sites, though something very useful to have, is outside the scope of this format.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== In General ===&lt;br /&gt;
The hReview format is based on a set of properties common to numerous review sites and formats in use today on the web.  Where possible property names have been chosen based on those defined by the related [[hcard|hCard]] and [[hcalendar|hCalendar]] standards.&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
The hReview schema consists of the following:&lt;br /&gt;
&lt;br /&gt;
* hReview ('''&amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt;''')&lt;br /&gt;
** '''&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;'''. optional. text.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;'''. optional. text.&lt;br /&gt;
** item '''&amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;'''. optional. product | business | event | person | place | website | url.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;''' info. required. '''&amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;''' ('''&amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;''' || '''&amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;''' ) | '''[[hcard|hCard]]''' (for person or business) | '''[[hcalendar|hCalendar]]''' (for event)&lt;br /&gt;
** '''&amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;'''. optional. '''[[hcard|hCard]]'''.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt;'''. optional. ISO8601 absolute date time. ([http://www.w3.org/TR/NOTE-datetime http://www.w3.org/TR/NOTE-datetime])&lt;br /&gt;
** '''&amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;'''. optional. fixed point integer [1.0-5.0], with optional alternate '''&amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;''' (default:1.0) and/or '''&amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;''' (default:5.0), also fixed point integers, and explicit '''&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;'''. optional. text with optional valid HTML markup.&lt;br /&gt;
** tags. optional. keywords or phrases, using '''[[rel-tag]]''', each with optional rating.&lt;br /&gt;
** permalink. optional, using '''[[rel-bookmark]]''' and '''[[rel-self]]'''.&lt;br /&gt;
** license. optional, using '''[[rel-license]]'''.&lt;br /&gt;
&lt;br /&gt;
=== Property details ===&lt;br /&gt;
Details of the hReview properties:&lt;br /&gt;
&lt;br /&gt;
'''version''':: This optional property permits hReview publishers to specify a particular version of hReview that their content uses.  By omitting this property, the publisher is stating that implementations may interpret the hReviews according to any version of the hReview specification v0.2 or later.  In practice the authors of this specification are comitted to maintaining backward compatibility with content produced using earlier versions of the specification.  This property is syntax compatible with, and thus reuses the semantics of &amp;quot;VERSION&amp;quot; as defined in vCard RFC2426 section &amp;quot;3.6.9 VERSION Type Definition&amp;quot;.  The value of this property for this specification is &amp;quot;0.3&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''summary''':: This optional property serves as a short synopsis, title, or name of the review. Re-used from [[hCalendar]] which re-uses it from iCalendar (section 4.8.1.12 of RFC 2445).&lt;br /&gt;
&lt;br /&gt;
'''type''':: This optional property provides the type of the item being reviewed, one of the following: &amp;lt;code&amp;gt;product, business, place, person, event, website, url&amp;lt;/code&amp;gt;.  If omitted, then in some cases the item type may be inferred.  If the item is also an [[hcard|hCard]], then the item type is a &amp;quot;business&amp;quot;, &amp;quot;place&amp;quot;, or a &amp;quot;person&amp;quot; based upon which of those the hCard represents.  If the item is also an [[hcalendar|hCalendar]] event, then the item type is an &amp;quot;event&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''item''':: This required property {{must}} have at a minimum the name (using the subproperty &amp;quot;fn&amp;quot; - the formatted text corresponding to the name, except for an event item which {{must}} have the &amp;quot;summary&amp;quot; subproperty inside the respective hCalendar &amp;quot;vevent&amp;quot;) of ''the'' item (an hReview describes only one item), {{should}} provide at least one URI (&amp;quot;url&amp;quot;) for the item, and {{may}} provide at least one URL to a photo or depiction (&amp;quot;photo&amp;quot;) of the item.  For items of type person or business, the item info (fn, url, photo) {{must}} be encapsulated in an [[hcard|hCard]].  For items of type event, the item info {{should}} be encapsulated in an [[hcalendar|hCalendar]] &amp;quot;vevent&amp;quot;.  Non-URL unique item IDs (e.g. ISBNs, UPCs) {{may}} be represented as a URN (&amp;quot;url&amp;quot;) for the item.  Encapsulated microformats (e.g. [[hcard|hCard]] and [[hcalendar|hCalendar]] events for now) may be set on the item itself (e.g. class=&amp;quot;item vcard&amp;quot;).  However, when using item info subproperties (&amp;quot;fn&amp;quot;, &amp;quot;url&amp;quot;, &amp;quot;photo&amp;quot;), they {{must}} be nested &amp;lt;em&amp;gt;inside&amp;lt;/em&amp;gt; the item element.&lt;br /&gt;
&lt;br /&gt;
'''reviewer''':: The optional property specifies the person who authored the review.  If the reviewer is specified, an hCard representing the reviewer {{must}} be provided.  For anonymous reviews, use &amp;quot;anonymous&amp;quot; (without quotes) for the full name of the reviewer.  If no &amp;quot;reviewer&amp;quot; is found inside the hReview, parsers {{should}} look outside the hReview, in the context of the page, for the &amp;quot;reviewer&amp;quot;. If there is no &amp;quot;reviewer&amp;quot; outside either, then parsers {{should}} use the author defined by the containing document language, e.g. for HTML documents, the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; contact info for the page (which is ideally marked up as an [[hcard|hCard]] as well), for Atom 1.0 the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;entry&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; if present and if not the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;feed&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, for RSS the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; inside the containing &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
'''dtreviewed''':: This optional property when present {{must}} provide an [[ISO-8601|ISO8601]] absolute date time of when the review was written or otherwise authored.  This property {{should}} use UTC, but {{may}} use the time zone offset syntax.  If dtreviewed is absent from the hReview, then look outside the hReview, in the surrounding context.  If the context is an [[hatom|hAtom]] entry, use its &amp;quot;published&amp;quot; (or &amp;quot;updated&amp;quot; if that is missing) datetime as the dtreviewed, if not present on the entry, use the &amp;quot;published&amp;quot; (or &amp;quot;updated&amp;quot; if that is missing) of the feed.  Otherwise use the creation date (or modified date if that is missing) information according to the containing document language (e.g. &amp;quot;published&amp;quot;/&amp;quot;updated&amp;quot; similarly for Atom feeds), then protocol (e.g. HTTP Last-Modified, or file system last modified datetime) as the dtreviewed.&lt;br /&gt;
&lt;br /&gt;
'''rating''':: The rating is a fixed point integer (one decimal point of precision) from 1.0 to 5.0 inclusive indicating a rating for the item, higher indicating a better rating by default. Optionally a different integral &amp;quot;worst&amp;quot; value and/or &amp;quot;best&amp;quot; value {{may}} be specified to indicate a different range (e.g. 6 from 0-10).  The &amp;quot;best&amp;quot; value may be numerically smaller than the &amp;quot;worst&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
'''description''':: This optional property serves as a more detailed synopsis of the review (i.e. full text representing the written opinion of the reviewer) than that provided by summary.  The property {{may}} include valid HTML markup (e.g. paragraphs).  User agents {{should}} preserve any markup. Multiple descriptions or section descriptions (e.g. pros and cons, plusses and minusses) {{should}} be included in the description property.&lt;br /&gt;
&lt;br /&gt;
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item.  The reviewer {{may}} optionally provide a tag-specific rating inside each [[rel-tag]], e.g. ambience:5. Tag-specific ratings by default use the same range as an overall rating for the item if present, and {{may}} also have a custom worst...best range specified.  Authors {{may}} also invert this structure for the same semantic if it is more convenient for their markup, that is, place the [[rel-tag]] inside a rating to indicate a rated tag.  Note: rated tags {{should}} ideally use a tag space that explains what the ratings for that tag mean. E.g. Food:18/30 {{should}} link to a tags space for Food that explains what an 18 out of 30 means for the Food tag.&lt;br /&gt;
&lt;br /&gt;
'''permalink''':: This optional property is a URL for the hReview.  In addition to using the &amp;lt;code&amp;gt;&amp;lt;a href&amp;gt;&amp;lt;/code&amp;gt; tag for this property, the attribute &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; {{must}} be used to indicate that the hyperlink is a permalink for the review itself.  If the hyperlink already contains a &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, then the values &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; {{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 review from multiple sources (such as indexing a page multiple times).  The permalink {{may}} also be used to indicate or imply the origin of the review. Authors {{may}} use the classname of &amp;quot;permalink&amp;quot; on the element representing the permalink.&lt;br /&gt;
&lt;br /&gt;
'''license''':: an hReview indicates the license for its contents using the '''[[rel-license]]''' microformat.&lt;br /&gt;
&lt;br /&gt;
The following property names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: &amp;lt;code&amp;gt;version, summary, fn, url, photo, description&amp;lt;/code&amp;gt;.  In addition, items and reviewers described by hCards {{may}} contain any hCard property.  The rel value &amp;quot;self&amp;quot; has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].&lt;br /&gt;
&lt;br /&gt;
=== More Semantic Equivalents ===&lt;br /&gt;
&lt;br /&gt;
For some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.: &lt;br /&gt;
&lt;br /&gt;
* For any &amp;quot;url&amp;quot;, use &amp;lt;code&amp;gt;&amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;...&amp;quot;&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/code&amp;gt; inside the element with the class name 'hreview' in hReview.&lt;br /&gt;
* And for &amp;quot;photo&amp;quot;, use &amp;lt;code&amp;gt;&amp;lt;img class=&amp;quot;photo&amp;quot; src=&amp;quot;...&amp;quot; alt=&amp;quot;Photo of ...&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Ratings are often presented either as a set of images or characters, e.g. &amp;quot;***&amp;quot;.  For these, the &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element is particularly useful, as such characters are an abbreviation for the precise rating, e.g. &amp;lt;code&amp;gt;&amp;amp;lt;abbr class=&amp;quot;rating&amp;quot; title=&amp;quot;3.0&amp;quot;&amp;amp;gt;***&amp;amp;lt;/abbr&amp;amp;gt;&amp;lt;/code&amp;gt;.  This is further explored in the next section.&lt;br /&gt;
&lt;br /&gt;
==== Language ====&lt;br /&gt;
* To explicitly convey the natural language that an hReview is written in, use the standard HTML 'lang' attribute on the element with class=&amp;quot;hreview&amp;quot;, e.g. &amp;lt;code&amp;gt;&amp;amp;lt;div class=&amp;quot;hreview&amp;quot; lang=&amp;quot;en&amp;quot;&amp;amp;gt; ... &amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt; If portions of an hReview (e.g. the item name) are in a different language, use the 'lang' attribute on those portions.&lt;br /&gt;
* hReview processors which need to handle the language of reviews MUST process the standard HTML 'lang' attribute as specified.&lt;br /&gt;
&lt;br /&gt;
=== Human vs. Machine Readable ===&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;gt;&amp;lt;/code&amp;gt; element is used for a property, then its '&amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;' attribute is used for the value of the property, instead of the contents of the element, which can then be used to provide a user-friendly alternate presentation of the value. &lt;br /&gt;
&lt;br /&gt;
Similarly, if an &amp;lt;code&amp;gt;&amp;lt;img /&amp;gt;&amp;lt;/code&amp;gt; element is used for one or more properties, it MUST be treated as follows: &lt;br /&gt;
&lt;br /&gt;
# For the &amp;quot;photo&amp;quot; property and any other property that takes a URL as its value, the &amp;lt;code&amp;gt;src=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; attribute provides the property value. &lt;br /&gt;
# For other properties, the &amp;lt;code&amp;gt;&amp;lt;img /&amp;gt;&amp;lt;/code&amp;gt; element's '&amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;' attribute is the value of the property.&lt;br /&gt;
&lt;br /&gt;
=== Object Includes ===&lt;br /&gt;
&lt;br /&gt;
hReview 0.3 includes support for the object [[include-pattern]].&lt;br /&gt;
&lt;br /&gt;
Often a single page lists an item, and then several reviews for that item.  In order to avoid having to repeat the item info for each review of the item, the first review should be marked up as an hReview, with a unique &amp;quot;id&amp;quot; attribute on the item info, and then following reviews should use the object [[include-pattern]] to include the item info from the first review.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
This section is informative.&lt;br /&gt;
&lt;br /&gt;
* By marking up a review with the hReview microformat, the expectation is communicated that the review MAY be indexed.  This has no impact on the copyright of the review itself which the publisher may explicitly specify using [[rel-license]] as specified above.&lt;br /&gt;
* The enumerated list of item types is under development and may be extended.&lt;br /&gt;
* Additional details about a particular item should be specified with the rest of the item's info at the URL provided for the item.&lt;br /&gt;
* Most rating systems use the range 1.0 to 5.0, and most of those represent the rating as a number (and possibly half) of stars.  Sites may use whatever graphic they wish to represent the rating.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here are a few examples of reviews from current web sites, and how they could be easily enhanced to support the hReview structured review microformat.  &lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an [[hreview|hReview]]?  Use the [http://microformats.org/code/hreview/creator hReview creator] to write a review and publish it on your blog.&lt;br /&gt;
&lt;br /&gt;
=== Restaurant reviews ===&lt;br /&gt;
&lt;br /&gt;
Here is an example of a simple online restaurant review:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;5 stars out of 5 stars&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;h4&amp;gt;Crepes on Cole is awesome&amp;lt;/h4&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;Reviewer: &amp;lt;span&amp;gt;Tantek&amp;lt;/span&amp;gt; - April 18, 2005&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  Crepes on Cole is one of the best little creperies in San Francisco. &lt;br /&gt;
  Excellent food and service. Plenty of tables in a variety of sizes &lt;br /&gt;
  for parties large and small.  Window seating makes for excellent &lt;br /&gt;
  people watching to/from the N-Judah which stops right outside.  &lt;br /&gt;
  I've had many fun social gatherings here, as well as gotten &lt;br /&gt;
  plenty of work done thanks to neighborhood WiFi.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Visit date: &amp;lt;span&amp;gt;April 2005&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Food eaten: &amp;lt;span&amp;gt;Florentine crepe&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adding hReview to this review is quite simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;&amp;lt;span class=&amp;quot;rating&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt; out of 5 stars&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;h4 class=&amp;quot;summary&amp;quot;&amp;gt;Crepes on Cole is awesome&amp;lt;/h4&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;Reviewer: &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Tantek&amp;lt;/span&amp;gt; - &lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-04-18T23:00-07:00&amp;quot;&amp;gt;April 18, 2005&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description item vcard&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;Crepes on Cole&amp;lt;/span&amp;gt; is one of the best little &lt;br /&gt;
  creperies in &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;San Francisco&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;.&lt;br /&gt;
  Excellent food and service. Plenty of tables in a variety of sizes &lt;br /&gt;
  for parties large and small.  Window seating makes for excellent &lt;br /&gt;
  people watching to/from the N-Judah which stops right outside.  &lt;br /&gt;
  I've had many fun social gatherings here, as well as gotten &lt;br /&gt;
  plenty of work done thanks to neighborhood WiFi.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Visit date: &amp;lt;span&amp;gt;April 2005&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Food eaten: &amp;lt;span&amp;gt;Florentine crepe&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that some of the properties of this sample review are not captured by hReview (visit date, food eaten).  This is deliberate per the scope of keeping hReview minimal and simple.&lt;br /&gt;
&lt;br /&gt;
This sample hReview could be rendered like this:&lt;br /&gt;
&lt;br /&gt;
5 stars out of 5 stars&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Crepes on Cole is awesome'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Reviewer: Tantek - April 18, 2005&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crepes on Cole is one of the best little creperies in San Francisco. Excellent food and service. Plenty of tables in a variety of sizes for parties large and small.  Window seating makes for excellent people watching to/from the N-Judah which stops right outside. I've had many fun social gatherings here, as well as gotten plenty of work done thanks to neighborhood wifi.&lt;br /&gt;
&lt;br /&gt;
Visit date: April 2005&amp;lt;br /&amp;gt;&lt;br /&gt;
Food eaten: Florentine crepe&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multidimensional Restaurant Review ====&lt;br /&gt;
Some restaurant reviews indicate ratings for different aspects of the restaurant.  Such details are represented in hReview using tagged ratings.  In addition, note the inline tags inside the description of this review.&lt;br /&gt;
&lt;br /&gt;
Here is one such review in text format:&lt;br /&gt;
&lt;br /&gt;
 Cafe Borrone&lt;br /&gt;
 &lt;br /&gt;
 1010 El Camino Real, Menlo Park, CA 94025, +1-650-327-0830;&lt;br /&gt;
 cafeborrone.com&lt;br /&gt;
 &lt;br /&gt;
 Food: 18/30; Ambience: 19/30; Service: 15/30; Price: $$...&lt;br /&gt;
 &lt;br /&gt;
 This cafe is a welcoming oasis on the Peninsula.  It even has a fountain&lt;br /&gt;
 outside which cloaks the nearby sounds of El Camino traffic.  Next door to a  &lt;br /&gt;
 superb indy bookstore, Cafe Borrone is an ideal spot to grab a coffee or a &lt;br /&gt;
 snack to accompany a newly purchased book or imported periodical.  Soups and &lt;br /&gt;
 sandwich specials rotate daily.  The corn chowder with croutons and big &lt;br /&gt;
 chunks of cheese goes especially well with a freshly toasted mini-baguette.  &lt;br /&gt;
 Evenings are often crowded and may require sharing a table with a perfect &lt;br /&gt;
 stranger.  Espresso afficionados will appreciate the Illy coffee.  Noise &lt;br /&gt;
 levels can vary from peaceful in the late mornings to nearly overwhelming on &lt;br /&gt;
 jazz band nights.&lt;br /&gt;
&lt;br /&gt;
As an hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;item vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;fn org summary&amp;quot;&amp;gt;Cafe Borrone&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;span class=&amp;quot;street-address&amp;quot;&amp;gt;1010 El Camino Real&amp;lt;/span&amp;gt;,&lt;br /&gt;
   &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Menlo Park&amp;lt;/span&amp;gt;,&lt;br /&gt;
   &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;CA&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;94025&amp;lt;/span&amp;gt;,&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1-650-327-0830&amp;lt;/span&amp;gt;;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://cafeborrone.com&amp;quot;&amp;gt;cafeborrone.com&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Food&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Food: &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;/&amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;30&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://flickr.com/photos/tags/Ambience&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Ambience: &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;19&amp;lt;/span&amp;gt;/&amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;30&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Service&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Service: &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;15&amp;lt;/span&amp;gt;/&amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;30&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Price&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Price: &amp;lt;abbr class=&amp;quot;value&amp;quot; title=&amp;quot;2&amp;quot;&amp;gt;$$&amp;lt;/abbr&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;/ul&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  This &amp;lt;abbr class=&amp;quot;type&amp;quot; title=&amp;quot;business&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/cafe&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;cafe&amp;lt;/a&amp;gt;&amp;lt;/abbr&amp;gt; &lt;br /&gt;
  is a welcoming oasis on the Peninsula.  &lt;br /&gt;
  It even has a fountain outside which nearly eliminates &lt;br /&gt;
  the sounds of El Camino traffic.  Next door to a superb indy bookstore, &lt;br /&gt;
  Cafe Borrone is an ideal spot to grab a &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/coffee&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;coffee&amp;lt;/a&amp;gt; &lt;br /&gt;
  or a meal to accompany a newly purchased book or imported periodical.  &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://technorati.com/tag/soup&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Soups&amp;lt;/a&amp;gt; and &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://technorati.com/tag/sandwich&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;sandwich&amp;lt;/a&amp;gt; &lt;br /&gt;
  specials rotate daily.  The corn chowder with croutons and big chunks of cheese &lt;br /&gt;
  goes especially well with a freshly toasted mini-baguette.  Evenings are &lt;br /&gt;
  often crowded and may require sharing a table with a perfect stranger. &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://flickr.com/photos/tags/espresso&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Espresso&amp;lt;/a&amp;gt; &lt;br /&gt;
  afficionados will appreciate the &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Illy&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Illy&amp;lt;/a&amp;gt; coffee.  &lt;br /&gt;
  Noise levels can vary from peaceful in the late mornings to nearly overwhelming on &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/jazz&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;jazz&amp;lt;/a&amp;gt; band nights.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 Review (&amp;lt;a href=&amp;quot;http://microformats.org/wiki/hreview&amp;quot;&amp;gt; &lt;br /&gt;
  hReview v&amp;lt;span class=&amp;quot;version&amp;quot;&amp;gt;0.3&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;)&lt;br /&gt;
 by &amp;lt;span class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;anonymous&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;, &lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-04-28T21:30-07:00&amp;quot;&amp;gt;April 28th, 2005&amp;lt;/abbr&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With an accompanying CSS style sheet like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
a.url { display:block }&lt;br /&gt;
ul { margin:1em 0; padding:0 }&lt;br /&gt;
ul li { display:inline }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This hReview could be presented similar to the original text:&lt;br /&gt;
&lt;br /&gt;
Cafe Borrone&amp;lt;br /&amp;gt;&lt;br /&gt;
1010 El Camino Real, Menlo Park, CA 94025, +1-650-327-0830;&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://cafeborrone.com/ cafeborrone.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://en.wikipedia.org/wiki/Food Food: 18/30];&lt;br /&gt;
[http://flickr.com/photos/tags/Ambience Ambience: 19/30];&lt;br /&gt;
[http://en.wikipedia.org/wiki/Service Service: 15/30];&lt;br /&gt;
[http://en.wikipedia.org/wiki/Price Price: $$...]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This [http://en.wikipedia.org/wiki/cafe cafe] is a welcoming oasis on the Peninsula.  It even has a fountain outside which cloaks the nearby sounds of El Camino traffic.  Next door to a superb indy bookstore, Cafe Borrone is an ideal spot to grab a [http://en.wikipedia.org/wiki/coffee coffee] or a snack to accompany a newly purchased book or imported periodical.  [http://technorati.com/tag/soup Soups] and [http://technorati.com/tag/sandwich sandwich] specials rotate daily.  The corn chowder with croutons and big chunks of cheese goes especially well with a freshly toasted mini-baguette.  Evenings are often crowded and may require sharing a table with a perfect stranger.  [http://flickr.com/photos/tags/espresso Espresso] afficionados will appreciate the [http://en.wikipedia.org/wiki/Illy Illy] coffee.  Noise levels can vary from peaceful in the late mornings to nearly overwhelming on [http://en.wikipedia.org/wiki/jazz jazz] band nights.&lt;br /&gt;
&lt;br /&gt;
Review ([http://microformats.org/wiki/hreview hReview v0.3]) by anonymous, April 28th, 2005.&lt;br /&gt;
&lt;br /&gt;
=== Product review ===&lt;br /&gt;
Here is an example of a product review:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 &amp;lt;a href=&amp;quot;http://www.amazon.com/exec/obidos/ASIN/B000089CJI/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img src=&amp;quot;http://images.amazon.com/images/P/B000089CJI.01._SCTHUMBZZZ_.jpg&amp;quot; &lt;br /&gt;
              alt=&amp;quot;Album cover photo: The Postal Service: Give Up.&amp;quot; /&amp;gt;&lt;br /&gt;
 The Postal Service: Give Up&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;quot;The people thought they were just being rewarded for treating others &lt;br /&gt;
    as they like to be treated, for obeying stop signs and curing diseases, &lt;br /&gt;
    for mailing letters with the address of the sender... Don't wake me, &lt;br /&gt;
    I plan on sleeping in...&amp;quot;&lt;br /&gt;
   &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;quot;Nothing Better&amp;quot; is a great track on this album, too... &lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
 (*****)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adding hReview to this review is also quite simple, but in this case requires a few more elements for the rating and reviewer which are required by hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://www.amazon.com/exec/obidos/ASIN/B000089CJI/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img src=&amp;quot;http://images.amazon.com/images/P/B000089CJI.01._SCTHUMBZZZ_.jpg&amp;quot; &lt;br /&gt;
       alt=&amp;quot;Album cover photo: The Postal Service: Give Up. &amp;quot; &lt;br /&gt;
       class=&amp;quot;photo&amp;quot; /&amp;gt;&lt;br /&gt;
  The Postal Service: Give Up&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
    &amp;quot;The people thought they were just being rewarded for treating others &lt;br /&gt;
     as they like to be treated, for obeying stop signs and curing diseases, &lt;br /&gt;
     for mailing letters with the address of the sender... Don't wake me, &lt;br /&gt;
     I plan on sleeping in...&amp;quot;&lt;br /&gt;
   &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;quot;Nothing Better&amp;quot; is a great track on this album, too... &lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 (&amp;lt;abbr class=&amp;quot;rating&amp;quot; title=&amp;quot;5&amp;quot;&amp;gt;*****&amp;lt;/abbr&amp;gt;)&lt;br /&gt;
 &amp;lt;p class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;Review by &lt;br /&gt;
  &amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://ifindkarma.com/blog/&amp;quot;&amp;gt;Adam Rifkin&amp;lt;/a&amp;gt;, &lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-02&amp;quot;&amp;gt;February 2005&amp;lt;/abbr&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And this hReview might be presented like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Album cover photo: ]&lt;br /&gt;
[The Postal Service:]&lt;br /&gt;
[      Give Up      ]&lt;br /&gt;
&lt;br /&gt;
The Postal Service: Give Up&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The people thought they were just being rewarded for treating others as they like to be treated, for obeying stop signs and curing diseases, for mailing letters with the address of the sender... Don't wake me, I plan on sleeping in...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Nothing Better&amp;quot; is a great track on this album, too...&lt;br /&gt;
&lt;br /&gt;
(*****)&lt;br /&gt;
&lt;br /&gt;
Review by Adam Rifkin, February 2005.&lt;br /&gt;
&lt;br /&gt;
=== Movie Review ===&lt;br /&gt;
Finally, here is an example of a movie review.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;anonymous, April 18th, 2005&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;div&amp;gt;&lt;br /&gt;
  &amp;lt;a lang=&amp;quot;zh&amp;quot; href=&amp;quot;http://www.imdb.com/title/tt0299977/&amp;quot;&amp;gt;&lt;br /&gt;
  Ying Xiong (&amp;lt;span lang=&amp;quot;en&amp;quot;&amp;gt;HERO&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div&amp;gt;Rating: 4 out of 5&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  This movie has great visuals and music.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;anonymous&amp;lt;/span&amp;gt;, &lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-04-18&amp;quot;&amp;gt;April 18th, 2005&amp;lt;/abbr&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a lang=&amp;quot;zh&amp;quot; class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://www.imdb.com/title/tt0299977/&amp;quot;&amp;gt;&lt;br /&gt;
  Ying Xiong (&amp;lt;span lang=&amp;quot;en&amp;quot;&amp;gt;HERO&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div&amp;gt;Rating: &amp;lt;span class=&amp;quot;rating&amp;quot;&amp;gt;4&amp;lt;/span&amp;gt; out of 5&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  This movie has great music and visuals.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which could be presented like this:&lt;br /&gt;
&lt;br /&gt;
anonymous, April 18th, 2005&amp;lt;br /&amp;gt;&lt;br /&gt;
Ying Xiong (HERO)&amp;lt;br /&amp;gt;&lt;br /&gt;
Rating: 4 out of 5&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This movie has great music and visuals.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''. The number of hReview examples in the wild has expanded far beyond the capacity of being kept inline in this specification. They have been moved to a [[hreview-examples-in-wild|separate page]].&lt;br /&gt;
&lt;br /&gt;
See [[hreview-examples-in-wild|hReview Examples in the wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''. The number of hReview implementations has also expanded beyond the capacity of keeping them inline. They have been moved to a [[hreview-implementations|separate page]].&lt;br /&gt;
&lt;br /&gt;
See [[hreview-implementations|hReview Implementations]].&lt;br /&gt;
&lt;br /&gt;
== Design Principles ==&lt;br /&gt;
This section is '''informative'''.  hReview was designed using design [[principles]] similar to those that went into [[hCard]] and thus this overview is included for informational purposes.&lt;br /&gt;
&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Inspiration and Acknowledgments ==&lt;br /&gt;
Thanks to everyone who responded to the open call for implementor participation for hReview.  The authors in particular wish to thank the following individuals for their constructive input and feedback: [[User:Richardault|Richard Ault]], [http://dannyayers.com Danny Ayers], [http://www.vertexdev.com/~jeff/ Jeffrey Barr],[http://adriancuthbert.blogspot.com/ Adrian Cuthbert],[http://jason.defillippo.com/ Jason DeFillippo], [http://www.hybernaut.com/bdv Brian Del Vecchio], Scott Derringer, [http://budgibson.com/home/ Bud Gibson], [http://joi.ito.com/ Joi Ito], [http://www.kanai.net/weblog/ Gen Kanai],[http://niallkennedy.com/ Niall Kennedy], [http://labs.commerce.net/wiki/index.php/Rohit_Khare Rohit Khare], [http://theryanking.com/ Ryan King], [http://www.jluster.org/ Jonas Luster], [http://epeus.blogspot.com/ Kevin Marks], Mark Nottingham, [http://www.powazek.com/ Derek Powazek], [http://www.judysbook.com/ Jeff Rodenburg], [http://sifry.com/alerts/ David Sifry], [http://jystewart.net/ James Stewart], [http://kung-foo.tv/ Adriaan Tijsseling], [http://www.flashenabled.com/ Phillip Torrone], Thai Tran, [http://w6daily.winn.com/ Phillip Winn], [http://yohei-y.blogspot.com YAMAMOTO Yohei].&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [[hcalendar|hCalendar]]&lt;br /&gt;
* [[rel-tag]]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2119.txt RFC2119]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3986.txt RFC3986]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc4287.txt RFC4287] (Atom 1.0)&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.w3.org/TR/REC-CSS1 CSS1]&lt;br /&gt;
* ISO.8601.1988 [http://www.w3.org/TR/NOTE-datetime http://www.w3.org/TR/NOTE-datetime]&lt;br /&gt;
** International Organization for Standardization, &amp;quot;Data elements and interchange formats - Information interchange - Representation of dates and times&amp;quot;, ISO Standard 8601, June 1988.&lt;br /&gt;
* [http://www.w3.org/TR/1998/NOTE-datetime-19980827 W3C NOTE-datetime-19980827]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3667.txt RFC3667]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3668.txt RFC3668]&lt;br /&gt;
* [http://www.w3.org/Consortium/Patent-Policy-20040205/ W3C Patent Policy]&lt;br /&gt;
* [http://local.yahoo.com/details?id=21359628 Crepes on Cole reviews on Yahoo! Local]&lt;br /&gt;
* Other reviews efforts. See [[reviews-formats]].&lt;br /&gt;
* Contributed from http://developers.technorati.com/wiki/hReview.&lt;br /&gt;
&lt;br /&gt;
==== Similar Work ====&lt;br /&gt;
* [[hlisting-proposal|hListing]]&lt;br /&gt;
* [[xoxo|XOXO]]&lt;br /&gt;
&lt;br /&gt;
== Copyright ==&lt;br /&gt;
{{MicroformatCopyrightStatement2005}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.&lt;br /&gt;
&lt;br /&gt;
== Patents ==&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. &lt;br /&gt;
&lt;br /&gt;
=== Changes from v0.2 ===&lt;br /&gt;
The following changes have been made in hReview v0.3 over [[hreview-v0.2|hReview v0.2]]:&lt;br /&gt;
&lt;br /&gt;
Normative changes:&lt;br /&gt;
# MUST (instead of SHOULD) use [[hcard|hCard]] for the item description of a business or person&lt;br /&gt;
# &amp;quot;reviewer&amp;quot; changes&lt;br /&gt;
## Made reviewer *optional* per feedback from Ryan King and Mark Nottingham&lt;br /&gt;
## If reviewer is absent from the hReview, then look outside the hReview, in the context of the page, for the reviewer.  If there is no &amp;quot;reviewer&amp;quot; outside either, then use the author information according to the containing document language (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; for HTML pages) as the reviewer.&lt;br /&gt;
## MUST (instead of SHOULD) use [[hcard|hCard]] to represent reviewer information&lt;br /&gt;
# &amp;quot;dtreviewed&amp;quot; changes&lt;br /&gt;
## Made dtreviewed *optional* per feedback from Ryan King and Mark Nottingham&lt;br /&gt;
## If dtreviewed is absent from the hReview, then look outside the hReview, in the surrounding context.  If the context is an [[hatom|hAtom]] entry, use its &amp;quot;published&amp;quot; (or &amp;quot;updated&amp;quot; if that is missing) datetime as the dtreviewed, if not present on the entry, use the &amp;quot;published&amp;quot; (or &amp;quot;updated&amp;quot; if that is missing) of the feed.  Otherwise use the information according to the containing document language (e.g. &amp;quot;published&amp;quot;/&amp;quot;updated&amp;quot; similarly for Atom feeds), then protocol (e.g. HTTP Last-Modified, or file system last modified datetime).&lt;br /&gt;
# SHOULD use [[hcalendar|hCalendar]] to represent an item of 'type' 'event'&lt;br /&gt;
# Added one decimal digit of precision to ratings' numerical values based on publisher experience.&lt;br /&gt;
# Use [http://microformats.org/wiki/hcard#Value_excerpting the &amp;quot;value&amp;quot; construct from hCard] (as it is used in &amp;quot;tel&amp;quot; properties for example) to more explicitly markup the rating value when also providing (marking up) the best/worst of a rating.&lt;br /&gt;
# Added [[rel-license]] to indicate the license of the hReview as a whole.&lt;br /&gt;
# Permit tags inside ratings to denote rated tags, the same as ratings inside tags per suggestion from Eran Globen.&lt;br /&gt;
# Add [[include-pattern]] support to allow multiple reviews for the same item to not repeat the item info.&lt;br /&gt;
&lt;br /&gt;
Informative changes (several, but in particular):&lt;br /&gt;
# Note that scalar/rated tags would ideally use a tag space that explain the ratings for that tag.  E.g. to explain what Food:18/30 means.&lt;br /&gt;
# Updated examples accordingly.&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
This &amp;lt;span id=&amp;quot;Further_Reading&amp;quot;&amp;gt;section&amp;lt;/span&amp;gt; is &amp;lt;strong&amp;gt;informative&amp;lt;/strong&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
See: [[hreview-articles]].&lt;br /&gt;
&lt;br /&gt;
== Related Pages ==&lt;br /&gt;
{{hreview-related-pages}}&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
Read the hReview draft specification in additional &amp;lt;span id=&amp;quot;languages&amp;quot;&amp;gt;languages&amp;lt;/span&amp;gt;:&lt;br /&gt;
* [[hreview-fr|français]]&lt;br /&gt;
* [[hreview-ja|日本語]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hreview&amp;diff=70696</id>
		<title>hreview</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hreview&amp;diff=70696"/>
		<updated>2024-06-20T23:48:03Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:hReview 0.4 (in progress)}}&lt;br /&gt;
{{latest|h-review}}&lt;br /&gt;
{{DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
[[hreview|hReview]] is a simple, open, distributed format, suitable for embedding reviews (of products, services, businesses, events, etc.) in HTML, XHTML, Atom, RSS, and arbitrary XML. hReview is one of several [[microformats]] open standards.&lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an [[hreview|hReview]]?  Use the [http://microformats.org/code/hreview/creator hReview creator] to write a review and publish it.&lt;br /&gt;
&lt;br /&gt;
== Microformats Draft Specification 2012 ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;url&amp;quot;&amp;gt;http://tantek.com/&amp;lt;/span&amp;gt;, [http://mozilla.org Mozilla])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[hreview#Copyright|copyright]] and [[hreview#Patents|patents]] statements apply.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
hReview 0.4 is a microformats.org draft specification. Public discussion on hReview takes place on [[hreview-feedback]], the #microformats [[irc]] channel, and previously the [http://microformats.org/discuss/mail/microformats-discuss/ microformats-discuss mailing list].&lt;br /&gt;
&lt;br /&gt;
=== Available languages ===&lt;br /&gt;
The English version of this specification is the only normative version. For translations of this document see the [[#translations]] section.&lt;br /&gt;
&lt;br /&gt;
=== Errata and Updates ===&lt;br /&gt;
Known errors and issues in this specification are corrected in [[hreview-issues-resolved|resolved]] and [[hreview-issues-closed|closed]] issues. Please check there before reporting [[hreview-issues|issues]].&lt;br /&gt;
&lt;br /&gt;
The hReview 0.4 update is currently under development and incorporates known errata corrections as well as the [[value-class-pattern]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Numerous web sites publish reviews using a broad variety of schema for all sorts of things from products (movies, music, books), to businesses (restaurants, hotels, stores), to events (concerts, theatre), to people (artists, leaders, celebrities), to places (landmarks, parks), to online resources (web pages, files), to reviews of reviews themselves.&lt;br /&gt;
&lt;br /&gt;
In order to enable and encourage the sharing, distribution, syndication, and aggregation, of reviews, the authors propose the hReview microformat, an open standard for distributed reviews.  The authors have researched both numerous [[review-examples]] in the wild and earlier attempts at [[review-formats]], and have designed hReview around a simple minimal schema for reviews.  Feedback is encouraged on the [[hreview-feedback|hReview feedback]] page.&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
=== Scope ===&lt;br /&gt;
Reviews consistently share several common aspects.  Where possible hReview has been based on this minimal common subset.&lt;br /&gt;
&lt;br /&gt;
==== Out of scope ====&lt;br /&gt;
Portions of reviews that are specific to particular kinds of items have been omitted from hReview.  It is important that hReview be kept simple and minimal from the start.  Additional features can be added as deemed necessary by practical implementation experience.&lt;br /&gt;
&lt;br /&gt;
The concept of a &amp;quot;universal object identifier&amp;quot;, that is, how to identify the same object/item/product across different shopping sites, though something very useful to have, is outside the scope of this format.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== In General ===&lt;br /&gt;
The hReview format is based on a set of properties common to numerous review sites and formats in use today on the web.  Where possible property names have been chosen based on those defined by the related [[hcard|hCard]] and [[hcalendar|hCalendar]] standards.&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
The hReview schema consists of the following:&lt;br /&gt;
&lt;br /&gt;
* hReview ('''&amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt;''')&lt;br /&gt;
** '''&amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;'''. optional. text.&lt;br /&gt;
** item '''&amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;'''. optional. product | business | event | person | place | website | url.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;''' info. required. '''&amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;''' ('''&amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;''' || '''&amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;''' ) | '''[[hcard|hCard]]''' (for person or business) | '''[[hcalendar|hCalendar]]''' (for event)&lt;br /&gt;
** '''&amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;'''. optional. '''[[hcard|hCard]]'''.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt;'''. optional. ISO8601 absolute date or date time. Use [[value-class-pattern]] if necessary especially for [[accessibility]]. ([http://www.w3.org/TR/NOTE-datetime http://www.w3.org/TR/NOTE-datetime])&lt;br /&gt;
** '''&amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;'''. optional. fixed point integer [1.0-5.0], with optional alternate '''&amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;''' (default:1.0) and/or '''&amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;''' (default:5.0), also fixed point integers, and explicit '''&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;'''. optional. text with optional valid HTML markup.&lt;br /&gt;
** tags. optional. keywords or phrases, using '''[[rel-tag]]''', each with optional rating.&lt;br /&gt;
** permalink. optional, using '''[[rel-bookmark]]''' and '''[[rel-self]]'''.&lt;br /&gt;
** license. optional, using '''[[rel-license]]'''.&lt;br /&gt;
&lt;br /&gt;
=== Property details ===&lt;br /&gt;
Details of the hReview properties:&lt;br /&gt;
&lt;br /&gt;
'''summary''':: This optional property serves as a short synopsis, title, or name of the review. Re-used from [[hCalendar]] which re-uses it from iCalendar (section 4.8.1.12 of RFC 2445).&lt;br /&gt;
&lt;br /&gt;
'''type''':: This optional property provides the type of the item being reviewed, one of the following: &amp;lt;code&amp;gt;product, business, place, person, event, website, url&amp;lt;/code&amp;gt;.  If omitted, then in some cases the item type may be inferred.  If the item is also an [[hcard|hCard]], then the item type is a &amp;quot;business&amp;quot;, &amp;quot;place&amp;quot;, or a &amp;quot;person&amp;quot; based upon which of those the hCard represents.  If the item is also an [[hcalendar|hCalendar]] event, then the item type is an &amp;quot;event&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''item''':: This required property {{must}} have at a minimum the name (using the subproperty &amp;quot;fn&amp;quot; - the formatted text corresponding to the name, except for an event item which {{must}} have the &amp;quot;summary&amp;quot; subproperty inside the respective hCalendar &amp;quot;vevent&amp;quot;) of ''the'' item (an hReview describes only one item), {{should}} provide at least one URI (&amp;quot;url&amp;quot;) for the item, and {{may}} provide at least one URL to a photo or depiction (&amp;quot;photo&amp;quot;) of the item.  For items of type person or business, the item info (fn, url, photo) {{must}} be encapsulated in an [[hcard|hCard]].  For items of type event, the item info {{should}} be encapsulated in an [[hcalendar|hCalendar]] &amp;quot;vevent&amp;quot;.  Non-URL unique item IDs (e.g. ISBNs, UPCs) {{may}} be represented as a URN (&amp;quot;url&amp;quot;) for the item.  Encapsulated microformats (e.g. [[hcard|hCard]] and [[hcalendar|hCalendar]] events for now) may be set on the item itself (e.g. class=&amp;quot;item vcard&amp;quot;).  However, when using item info subproperties (&amp;quot;fn&amp;quot;, &amp;quot;url&amp;quot;, &amp;quot;photo&amp;quot;), they {{must}} be nested &amp;lt;em&amp;gt;inside&amp;lt;/em&amp;gt; the item element.&lt;br /&gt;
&lt;br /&gt;
'''reviewer''':: The optional property specifies the person who authored the review.  If the reviewer is specified, an hCard representing the reviewer {{must}} be provided.  For anonymous reviews, use &amp;quot;anonymous&amp;quot; (without quotes) for the full name of the reviewer.  If no &amp;quot;reviewer&amp;quot; is found inside the hReview, parsers {{should}} look outside the hReview, in the context of the page, for the &amp;quot;reviewer&amp;quot;. If there is no &amp;quot;reviewer&amp;quot; outside either, then parsers {{should}} use the author defined by the containing document language, e.g. for HTML documents, the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;address&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; contact info for the page (which is ideally marked up as an [[hcard|hCard]] as well), for Atom 1.0 the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;entry&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; if present and if not the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;feed&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, for RSS the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; inside the containing &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
'''dtreviewed''':: This optional property when present {{must}} provide an [[ISO-8601|ISO8601]] absolute date or date time of when the review was written or otherwise authored ([http://www.w3.org/TR/NOTE-datetime http://www.w3.org/TR/NOTE-datetime]).  This property must use the [[value-class-pattern]] if necessary (e.g. for [[accessibility]], {{should}} use UTC, but {{may}} use the time zone offset syntax.  If dtreviewed is absent from the hReview, then look outside the hReview, in the surrounding context.  If the context is an [[hatom|hAtom]] entry, use its &amp;quot;published&amp;quot; (or &amp;quot;updated&amp;quot; if that is missing) datetime as the dtreviewed, if not present on the entry, use the &amp;quot;published&amp;quot; (or &amp;quot;updated&amp;quot; if that is missing) of the feed.  Otherwise use the creation date (or modified date if that is missing) information according to the containing document language (e.g. &amp;quot;published&amp;quot;/&amp;quot;updated&amp;quot; similarly for Atom feeds), then protocol (e.g. HTTP Last-Modified, or file system last modified datetime) as the dtreviewed.&lt;br /&gt;
&lt;br /&gt;
'''rating''':: The rating is a fixed point integer (one decimal point of precision) from 1.0 to 5.0 inclusive indicating a rating for the item, higher indicating a better rating by default. Optionally a different integral &amp;quot;worst&amp;quot; value and/or &amp;quot;best&amp;quot; value {{may}} be specified to indicate a different range (e.g. 6 from 0-10).  The &amp;quot;best&amp;quot; value may be numerically smaller than the &amp;quot;worst&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
'''description''':: This optional property serves as a more detailed synopsis of the review (i.e. full text representing the written opinion of the reviewer) than that provided by summary.  The property {{may}} include valid HTML markup (e.g. paragraphs).  User agents {{should}} preserve any markup. Multiple descriptions or section descriptions (e.g. pros and cons, pluses and minuses) {{should}} be included in the description property.&lt;br /&gt;
&lt;br /&gt;
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item.  The reviewer {{may}} optionally provide a tag-specific rating inside each [[rel-tag]], e.g. ambiance:5. Tag-specific ratings by default use the same range as an overall rating for the item if present, and {{may}} also have a custom worst...best range specified.  Authors {{may}} also invert this structure for the same semantic if it is more convenient for their markup, that is, place the [[rel-tag]] inside a rating to indicate a rated tag.  Note: rated tags {{should}} ideally use a tag space that explains what the ratings for that tag mean. E.g. Food:18/30 {{should}} link to a tags space for Food that explains what an 18 out of 30 means for the Food tag.&lt;br /&gt;
&lt;br /&gt;
'''permalink''':: This optional property is a URL for the hReview.  In addition to using the &amp;lt;code&amp;gt;&amp;lt;a href&amp;gt;&amp;lt;/code&amp;gt; tag for this property, the attribute &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; {{must}} be used to indicate that the hyperlink is a permalink for the review itself.  If the hyperlink already contains a &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, then the values &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; {{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 review from multiple sources (such as indexing a page multiple times).  The permalink {{may}} also be used to indicate or imply the origin of the review. Authors {{may}} use the classname of &amp;quot;permalink&amp;quot; on the element representing the permalink.&lt;br /&gt;
&lt;br /&gt;
'''license''':: an hReview indicates the license for its contents using the '''[[rel-license]]''' microformat.&lt;br /&gt;
&lt;br /&gt;
The following property names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: &amp;lt;code&amp;gt;summary, fn, url, photo, description&amp;lt;/code&amp;gt;.  In addition, items and reviewers described by hCards {{may}} contain any hCard property.  The rel value &amp;quot;self&amp;quot; has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].&lt;br /&gt;
&lt;br /&gt;
=== More Semantic Equivalents ===&lt;br /&gt;
&lt;br /&gt;
For some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.: &lt;br /&gt;
&lt;br /&gt;
* For any &amp;quot;url&amp;quot;, use &amp;lt;code&amp;gt;&amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;...&amp;quot;&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/code&amp;gt; inside the element with the class name 'hreview' in hReview.&lt;br /&gt;
* And for &amp;quot;photo&amp;quot;, use &amp;lt;code&amp;gt;&amp;lt;img class=&amp;quot;photo&amp;quot; src=&amp;quot;...&amp;quot; alt=&amp;quot;Photo of ...&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Ratings are often presented either as a set of images or characters, e.g. &amp;quot;***&amp;quot;.  For these, the &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element is particularly useful, as such characters are an abbreviation for the precise rating, e.g. &amp;lt;code&amp;gt;&amp;amp;lt;abbr class=&amp;quot;rating&amp;quot; title=&amp;quot;3.0&amp;quot;&amp;amp;gt;***&amp;amp;lt;/abbr&amp;amp;gt;&amp;lt;/code&amp;gt;.  This is further explored in the next section.&lt;br /&gt;
&lt;br /&gt;
==== Language ====&lt;br /&gt;
* To explicitly convey the natural language that an hReview is written in, use the standard HTML 'lang' attribute on the element with class=&amp;quot;hreview&amp;quot;, e.g. &amp;lt;code&amp;gt;&amp;amp;lt;div class=&amp;quot;hreview&amp;quot; lang=&amp;quot;en&amp;quot;&amp;amp;gt; ... &amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt; If portions of an hReview (e.g. the item name) are in a different language, use the 'lang' attribute on those portions.&lt;br /&gt;
* hReview processors which need to handle the language of reviews MUST process the standard HTML 'lang' attribute as specified.&lt;br /&gt;
&lt;br /&gt;
=== Human vs. Machine Readable ===&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;gt;&amp;lt;/code&amp;gt; element is used for a property, then its '&amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;' attribute is used for the value of the property, instead of the contents of the element, which can then be used to provide a user-friendly alternate presentation of the value. &lt;br /&gt;
&lt;br /&gt;
Similarly, if an &amp;lt;code&amp;gt;&amp;lt;img /&amp;gt;&amp;lt;/code&amp;gt; element is used for one or more properties, it MUST be treated as follows: &lt;br /&gt;
&lt;br /&gt;
# For the &amp;quot;photo&amp;quot; property and any other property that takes a URL as its value, the &amp;lt;code&amp;gt;src=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; attribute provides the property value. &lt;br /&gt;
# For other properties, the &amp;lt;code&amp;gt;&amp;lt;img /&amp;gt;&amp;lt;/code&amp;gt; element's '&amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;' attribute is the value of the property.&lt;br /&gt;
&lt;br /&gt;
=== Includes ===&lt;br /&gt;
&lt;br /&gt;
hReview 0.4 includes support for the [[include-pattern]].&lt;br /&gt;
&lt;br /&gt;
Often a single page lists an item, and then several reviews for that item.  In order to avoid having to repeat the item info for each review of the item, the first review should be marked up as an hReview, with a unique &amp;quot;id&amp;quot; attribute on the item info, and then following reviews should use the object [[include-pattern]] to include the item info from the first review.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
This section is informative.&lt;br /&gt;
&lt;br /&gt;
* By marking up a review with the hReview microformat, the expectation is communicated that the review MAY be indexed.  This has no impact on the copyright of the review itself which the publisher may explicitly specify using [[rel-license]] as specified above.&lt;br /&gt;
* The enumerated list of item types is under development and may be extended.&lt;br /&gt;
* Additional details about a particular item should be specified with the rest of the item's info at the URL provided for the item.&lt;br /&gt;
* Most rating systems use the range 1.0 to 5.0, and most of those represent the rating as a number (and possibly half) of stars.  Sites may use whatever graphic they wish to represent the rating.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Here are a few examples of reviews from current web sites, and how they could be easily enhanced to support the hReview structured review microformat.  &lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an [[hreview|hReview]]?  Use the [http://microformats.org/code/hreview/creator hReview creator] to write a review and publish it on your blog.&lt;br /&gt;
&lt;br /&gt;
=== Restaurant reviews ===&lt;br /&gt;
&lt;br /&gt;
Here is an example of a brief online restaurant review:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;5 stars out of 5 stars&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;h4&amp;gt;Crepes on Cole is awesome&amp;lt;/h4&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;Reviewer: &amp;lt;span&amp;gt;Tantek&amp;lt;/span&amp;gt; - April 18, 2005&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  Crepes on Cole is one of the best little creperies in San Francisco. &lt;br /&gt;
  Excellent food and service. Plenty of tables in a variety of sizes &lt;br /&gt;
  for parties large and small.  Window seating makes for excellent &lt;br /&gt;
  people watching to/from the N-Judah which stops right outside.  &lt;br /&gt;
  I've had many fun social gatherings here, as well as gotten &lt;br /&gt;
  plenty of work done thanks to neighborhood WiFi.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Visit date: &amp;lt;span&amp;gt;April 2005&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Food eaten: &amp;lt;span&amp;gt;Florentine crepe&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adding a few elements &amp;amp; class names makes the review into an hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;&amp;lt;span class=&amp;quot;rating&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt; out of 5 stars&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;h4 class=&amp;quot;summary&amp;quot;&amp;gt;Crepes on Cole is awesome&amp;lt;/h4&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;Reviewer: &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Tantek&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; - &lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-04-18&amp;quot;&amp;gt;April 18, 2005&amp;lt;/abbr&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description item vcard&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;Crepes on Cole&amp;lt;/span&amp;gt; is one of the best little &lt;br /&gt;
  creperies in &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;San Francisco&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;.&lt;br /&gt;
  Excellent food and service. Plenty of tables in a variety of sizes &lt;br /&gt;
  for parties large and small.  Window seating makes for excellent &lt;br /&gt;
  people watching to/from the N-Judah which stops right outside.  &lt;br /&gt;
  I've had many fun social gatherings here, as well as gotten &lt;br /&gt;
  plenty of work done thanks to neighborhood WiFi.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Visit date: &amp;lt;span&amp;gt;April 2005&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;p&amp;gt;Food eaten: &amp;lt;span&amp;gt;Florentine crepe&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that some of the properties of this sample review are not captured by hReview (visit date, food eaten).  This is deliberate per the scope of keeping hReview minimal and simple.&lt;br /&gt;
&lt;br /&gt;
This sample hReview could be rendered like this:&lt;br /&gt;
&lt;br /&gt;
5 stars out of 5 stars&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Crepes on Cole is awesome'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Reviewer: Tantek - April 18, 2005&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crepes on Cole is one of the best little creperies in San Francisco. Excellent food and service. Plenty of tables in a variety of sizes for parties large and small.  Window seating makes for excellent people watching to/from the N-Judah which stops right outside. I've had many fun social gatherings here, as well as gotten plenty of work done thanks to neighborhood wifi.&lt;br /&gt;
&lt;br /&gt;
Visit date: April 2005&amp;lt;br /&amp;gt;&lt;br /&gt;
Food eaten: Florentine crepe&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Multidimensional Restaurant Review ====&lt;br /&gt;
Some restaurant reviews indicate ratings for different aspects of the restaurant.  Such details are represented in hReview using tagged ratings.  In addition, note the inline tags inside the description of this review.&lt;br /&gt;
&lt;br /&gt;
Here is one such review in text format:&lt;br /&gt;
&lt;br /&gt;
 Cafe Borrone&lt;br /&gt;
 &lt;br /&gt;
 1010 El Camino Real, Menlo Park, CA 94025, +1-650-327-0830;&lt;br /&gt;
 cafeborrone.com&lt;br /&gt;
 &lt;br /&gt;
 Food: 18/30; Ambience: 19/30; Service: 15/30; Price: $$...&lt;br /&gt;
 &lt;br /&gt;
 This cafe is a welcoming oasis on the Peninsula.  It even has a fountain&lt;br /&gt;
 outside which cloaks the nearby sounds of El Camino traffic.  Next door to a  &lt;br /&gt;
 superb indy bookstore, Cafe Borrone is an ideal spot to grab a coffee or a &lt;br /&gt;
 snack to accompany a newly purchased book or imported periodical.  Soups and &lt;br /&gt;
 sandwich specials rotate daily.  The corn chowder with croutons and big &lt;br /&gt;
 chunks of cheese goes especially well with a freshly toasted mini-baguette.  &lt;br /&gt;
 Evenings are often crowded and may require sharing a table with a perfect &lt;br /&gt;
 stranger.  Espresso afficionados will appreciate the Illy coffee.  Noise &lt;br /&gt;
 levels can vary from peaceful in the late mornings to nearly overwhelming on &lt;br /&gt;
 jazz band nights.&lt;br /&gt;
&lt;br /&gt;
As an hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;item vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;fn org summary&amp;quot;&amp;gt;Cafe Borrone&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;span class=&amp;quot;street-address&amp;quot;&amp;gt;1010 El Camino Real&amp;lt;/span&amp;gt;,&lt;br /&gt;
   &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Menlo Park&amp;lt;/span&amp;gt;,&lt;br /&gt;
   &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;CA&amp;lt;/span&amp;gt;&lt;br /&gt;
   &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;94025&amp;lt;/span&amp;gt;,&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+1-650-327-0830&amp;lt;/span&amp;gt;;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://cafeborrone.com&amp;quot;&amp;gt;cafeborrone.com&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Food&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Food: &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;/&amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;30&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://flickr.com/photos/tags/Ambience&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Ambience: &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;19&amp;lt;/span&amp;gt;/&amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;30&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Service&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Service: &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;15&amp;lt;/span&amp;gt;/&amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;30&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Price&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;&lt;br /&gt;
   Price: &amp;lt;abbr class=&amp;quot;value&amp;quot; title=&amp;quot;2&amp;quot;&amp;gt;$$&amp;lt;/abbr&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;/ul&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  This &amp;lt;abbr class=&amp;quot;type&amp;quot; title=&amp;quot;business&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/cafe&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;cafe&amp;lt;/a&amp;gt;&amp;lt;/abbr&amp;gt; &lt;br /&gt;
  is a welcoming oasis on the Peninsula.  &lt;br /&gt;
  It even has a fountain outside which nearly eliminates &lt;br /&gt;
  the sounds of El Camino traffic.  Next door to a superb indy bookstore, &lt;br /&gt;
  Cafe Borrone is an ideal spot to grab a &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/coffee&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;coffee&amp;lt;/a&amp;gt; &lt;br /&gt;
  or a meal to accompany a newly purchased book or imported periodical.  &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://technorati.com/tag/soup&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Soups&amp;lt;/a&amp;gt; and &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://technorati.com/tag/sandwich&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;sandwich&amp;lt;/a&amp;gt; &lt;br /&gt;
  specials rotate daily.  The corn chowder with croutons and big chunks of cheese &lt;br /&gt;
  goes especially well with a freshly toasted mini-baguette.  Evenings are &lt;br /&gt;
  often crowded and may require sharing a table with a perfect stranger. &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://flickr.com/photos/tags/espresso&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Espresso&amp;lt;/a&amp;gt; &lt;br /&gt;
  afficionados will appreciate the &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Illy&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Illy&amp;lt;/a&amp;gt; coffee.  &lt;br /&gt;
  Noise levels can vary from peaceful in the late mornings to nearly overwhelming on &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/jazz&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;jazz&amp;lt;/a&amp;gt; band nights.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;a href=&amp;quot;http://microformats.org/wiki/hreview&amp;quot;&amp;gt;hReview&amp;lt;/a&amp;gt;&lt;br /&gt;
 by &amp;lt;span class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;anonymous&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;, &lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-04-28&amp;quot;&amp;gt;April 28th, 2005&amp;lt;/abbr&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With an accompanying CSS style sheet like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
a.url { display:block }&lt;br /&gt;
ul { margin:1em 0; padding:0 }&lt;br /&gt;
ul li { display:inline }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This hReview could be presented similar to the original text:&lt;br /&gt;
&lt;br /&gt;
Cafe Borrone&amp;lt;br /&amp;gt;&lt;br /&gt;
1010 El Camino Real, Menlo Park, CA 94025, +1-650-327-0830;&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://cafeborrone.com/ cafeborrone.com]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://en.wikipedia.org/wiki/Food Food: 18/30];&lt;br /&gt;
[http://flickr.com/photos/tags/Ambience Ambience: 19/30];&lt;br /&gt;
[http://en.wikipedia.org/wiki/Service Service: 15/30];&lt;br /&gt;
[http://en.wikipedia.org/wiki/Price Price: $$...]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This [http://en.wikipedia.org/wiki/cafe cafe] is a welcoming oasis on the Peninsula.  It even has a fountain outside which cloaks the nearby sounds of El Camino traffic.  Next door to a superb indy bookstore, Cafe Borrone is an ideal spot to grab a [http://en.wikipedia.org/wiki/coffee coffee] or a snack to accompany a newly purchased book or imported periodical.  [http://technorati.com/tag/soup Soups] and [http://technorati.com/tag/sandwich sandwich] specials rotate daily.  The corn chowder with croutons and big chunks of cheese goes especially well with a freshly toasted mini-baguette.  Evenings are often crowded and may require sharing a table with a perfect stranger.  [http://flickr.com/photos/tags/espresso Espresso] afficionados will appreciate the [http://en.wikipedia.org/wiki/Illy Illy] coffee.  Noise levels can vary from peaceful in the late mornings to nearly overwhelming on [http://en.wikipedia.org/wiki/jazz jazz] band nights.&lt;br /&gt;
&lt;br /&gt;
[http://microformats.org/wiki/hreview hReview] by anonymous, April 28th, 2005.&lt;br /&gt;
&lt;br /&gt;
=== Product review ===&lt;br /&gt;
Here is an example of a product review:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 &amp;lt;a href=&amp;quot;http://www.amazon.com/exec/obidos/ASIN/B000089CJI/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img src=&amp;quot;http://images.amazon.com/images/P/B000089CJI.01._SCTHUMBZZZ_.jpg&amp;quot; &lt;br /&gt;
              alt=&amp;quot;Album cover photo: The Postal Service: Give Up.&amp;quot; /&amp;gt;&lt;br /&gt;
 The Postal Service: Give Up&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;quot;The people thought they were just being rewarded for treating others &lt;br /&gt;
    as they like to be treated, for obeying stop signs and curing diseases, &lt;br /&gt;
    for mailing letters with the address of the sender... Don't wake me, &lt;br /&gt;
    I plan on sleeping in...&amp;quot;&lt;br /&gt;
   &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;quot;Nothing Better&amp;quot; is a great track on this album, too... &lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
 (*****)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adding hReview to this review is also quite simple, but in this case requires a few more elements for the rating and reviewer which are required by hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://www.amazon.com/exec/obidos/ASIN/B000089CJI/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img src=&amp;quot;http://images.amazon.com/images/P/B000089CJI.01._SCTHUMBZZZ_.jpg&amp;quot; &lt;br /&gt;
       alt=&amp;quot;Album cover photo: The Postal Service: Give Up. &amp;quot; &lt;br /&gt;
       class=&amp;quot;photo&amp;quot; /&amp;gt;&lt;br /&gt;
  The Postal Service: Give Up&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
    &amp;quot;The people thought they were just being rewarded for treating others &lt;br /&gt;
     as they like to be treated, for obeying stop signs and curing diseases, &lt;br /&gt;
     for mailing letters with the address of the sender... Don't wake me, &lt;br /&gt;
     I plan on sleeping in...&amp;quot;&lt;br /&gt;
   &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;quot;Nothing Better&amp;quot; is a great track on this album, too... &lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 (&amp;lt;abbr class=&amp;quot;rating&amp;quot; title=&amp;quot;5&amp;quot;&amp;gt;*****&amp;lt;/abbr&amp;gt;)&lt;br /&gt;
 &amp;lt;p class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;Review by &lt;br /&gt;
  &amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://ifindkarma.com/blog/&amp;quot;&amp;gt;Adam Rifkin&amp;lt;/a&amp;gt;, &lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-02&amp;quot;&amp;gt;February 2005&amp;lt;/abbr&amp;gt;&lt;br /&gt;
 &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And this hReview might be presented like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Album cover photo: ]&lt;br /&gt;
[The Postal Service:]&lt;br /&gt;
[      Give Up      ]&lt;br /&gt;
&lt;br /&gt;
The Postal Service: Give Up&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The people thought they were just being rewarded for treating others as they like to be treated, for obeying stop signs and curing diseases, for mailing letters with the address of the sender... Don't wake me, I plan on sleeping in...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Nothing Better&amp;quot; is a great track on this album, too...&lt;br /&gt;
&lt;br /&gt;
(*****)&lt;br /&gt;
&lt;br /&gt;
Review by Adam Rifkin, February 2005.&lt;br /&gt;
&lt;br /&gt;
=== Movie Review ===&lt;br /&gt;
Finally, here is an example of a movie review.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 &amp;lt;span&amp;gt;anonymous, April 18th, 2005&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;div&amp;gt;&lt;br /&gt;
  &amp;lt;a lang=&amp;quot;zh&amp;quot; href=&amp;quot;http://www.imdb.com/title/tt0299977/&amp;quot;&amp;gt;&lt;br /&gt;
  Ying Xiong (&amp;lt;span lang=&amp;quot;en&amp;quot;&amp;gt;HERO&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div&amp;gt;Rating: 4 out of 5&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  This movie has great visuals and music.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With hReview:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hreview&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;reviewer vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;anonymous&amp;lt;/span&amp;gt;, &lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;dtreviewed&amp;quot; title=&amp;quot;2005-04-18&amp;quot;&amp;gt;April 18th, 2005&amp;lt;/abbr&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a lang=&amp;quot;zh&amp;quot; class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://www.imdb.com/title/tt0299977/&amp;quot;&amp;gt;&lt;br /&gt;
  Ying Xiong (&amp;lt;span lang=&amp;quot;en&amp;quot;&amp;gt;HERO&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div&amp;gt;Rating: &amp;lt;span class=&amp;quot;rating&amp;quot;&amp;gt;4&amp;lt;/span&amp;gt; out of 5&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  This movie has great music and visuals.&lt;br /&gt;
 &amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which could be presented like this:&lt;br /&gt;
&lt;br /&gt;
anonymous, April 18th, 2005&amp;lt;br /&amp;gt;&lt;br /&gt;
Ying Xiong (HERO)&amp;lt;br /&amp;gt;&lt;br /&gt;
Rating: 4 out of 5&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This movie has great music and visuals.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''. The number of hReview examples in the wild has expanded far beyond the capacity of being kept inline in this specification. They have been moved to a [[hreview-examples-in-wild|separate page]].&lt;br /&gt;
&lt;br /&gt;
See [[hreview-examples-in-wild|hReview Examples in the wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''. The number of hReview implementations has also expanded beyond the capacity of keeping them inline. They have been moved to a [[hreview-implementations|separate page]].&lt;br /&gt;
&lt;br /&gt;
See [[hreview-implementations|hReview Implementations]].&lt;br /&gt;
&lt;br /&gt;
== Design Principles ==&lt;br /&gt;
This section is '''informative'''.  hReview was designed using design [[principles]] similar to those that went into [[hCard]] and thus this overview is included for informational purposes.&lt;br /&gt;
&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Inspiration and Acknowledgments ==&lt;br /&gt;
Thanks to everyone who responded to the open call for implementor participation for hReview.  The authors in particular wish to thank the following individuals for their constructive input and feedback: [[User:Richardault|Richard Ault]], [http://dannyayers.com Danny Ayers], [http://www.vertexdev.com/~jeff/ Jeffrey Barr],[http://adriancuthbert.blogspot.com/ Adrian Cuthbert],[http://jason.defillippo.com/ Jason DeFillippo], [http://www.hybernaut.com/bdv Brian Del Vecchio], Scott Derringer, [http://budgibson.com/home/ Bud Gibson], [http://joi.ito.com/ Joi Ito], [http://www.kanai.net/weblog/ Gen Kanai],[http://niallkennedy.com/ Niall Kennedy], [http://labs.commerce.net/wiki/index.php/Rohit_Khare Rohit Khare], [http://theryanking.com/ Ryan King], [http://www.jluster.org/ Jonas Luster], [http://epeus.blogspot.com/ Kevin Marks], Mark Nottingham, [http://www.powazek.com/ Derek Powazek], [http://www.judysbook.com/ Jeff Rodenburg], [http://sifry.com/alerts/ David Sifry], [http://jystewart.net/ James Stewart], [http://kung-foo.tv/ Adriaan Tijsseling], [http://www.flashenabled.com/ Phillip Torrone], Thai Tran, [http://w6daily.winn.com/ Phillip Winn], [http://yohei-y.blogspot.com YAMAMOTO Yohei].&lt;br /&gt;
&lt;br /&gt;
; hReview v0.3 Authors&lt;br /&gt;
: [[User:Tantek|Tantek Çelik]] (tantek.com, and before at [http://technorati.com/ Technorati])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://360.yahoo.com/alidiabali Ali Diab]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://yahoo.com Yahoo! Inc.])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://ianmcall.blogspot.com/ Ian McAllister]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://amazon.com/ Amazon.com])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://journals.aol.com/panzerjohn/abstractioneer John Panzer]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://www.aol.com America Online, Inc.])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://ifindkarma.com/blog Adam Rifkin]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://labs.commerce.net/ CommerceNet Labs])&lt;br /&gt;
: &amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://sippey.typepad.com/ Michael Sippey]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; ([http://sixapart.com Six Apart, Ltd])&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://w3.org/html5 HTML5]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [[hcalendar|hCalendar]]&lt;br /&gt;
* [[rel-tag]]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2119.txt RFC2119]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3986.txt RFC3986]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc4287.txt RFC4287] (Atom 1.0)&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [http://www.w3.org/TR/REC-CSS1 CSS1]&lt;br /&gt;
* ISO.8601 [http://www.w3.org/TR/NOTE-datetime http://www.w3.org/TR/NOTE-datetime]&lt;br /&gt;
** International Organization for Standardization, &amp;quot;Data elements and interchange formats - Information interchange - Representation of dates and times&amp;quot;, ISO Standard 8601, June 1988.&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3667.txt RFC3667]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3668.txt RFC3668]&lt;br /&gt;
* [http://www.w3.org/Consortium/Patent-Policy-20040205/ W3C Patent Policy]&lt;br /&gt;
* [http://local.yahoo.com/details?id=21359628 Crepes on Cole reviews on Yahoo! Local]&lt;br /&gt;
* Other reviews efforts. See [[reviews-formats]].&lt;br /&gt;
* Contributed from http://developers.technorati.com/wiki/hReview.&lt;br /&gt;
&lt;br /&gt;
==== Similar Work ====&lt;br /&gt;
* [[hlisting-proposal|hListing]]&lt;br /&gt;
* [[xoxo|XOXO]]&lt;br /&gt;
&lt;br /&gt;
== Copyright ==&lt;br /&gt;
{{MicroformatCopyrightStatement2005}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.&lt;br /&gt;
&lt;br /&gt;
== Patents ==&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. &lt;br /&gt;
&lt;br /&gt;
=== Changes from v0.3 ===&lt;br /&gt;
The following changes have been made in hReview v0.3 over [[hreview-v0.2|hReview v0.2]]:&lt;br /&gt;
&lt;br /&gt;
Normative changes:&lt;br /&gt;
# Add normative references to&lt;br /&gt;
## [[value-class-pattern]] - required for support.&lt;br /&gt;
## [[html5]] - for HTML5 parsing/DOM&lt;br /&gt;
# Changed normative references to informative:&lt;br /&gt;
## Includes delegated fully to [[include-pattern]] rather than specifying &amp;quot;Object Includes&amp;quot;&lt;br /&gt;
## '''version''' property dropped. Little if any actual publication in practice, and no practical uses found. Smaller is better.&lt;br /&gt;
## '''dtreviewed''' may also be an absolute ISO8601 date, and must use [[value-class-pattern]] if necessary.&lt;br /&gt;
&lt;br /&gt;
Informative changes (several, but in particular):&lt;br /&gt;
# changed editorship/authorship to just [[Tantek]] in prep/heads-up for a rewrite.&lt;br /&gt;
# examples updated:&lt;br /&gt;
## '''dtreviewed''' property values use [[date-pattern]]&lt;br /&gt;
## '''version''' property dropped&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
This &amp;lt;span id=&amp;quot;Further_Reading&amp;quot;&amp;gt;section&amp;lt;/span&amp;gt; is &amp;lt;strong&amp;gt;informative&amp;lt;/strong&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
See: [[hreview-articles]].&lt;br /&gt;
&lt;br /&gt;
== Related Pages ==&lt;br /&gt;
{{hreview-related-pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:hReview]]&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
Read the hReview draft specification in additional &amp;lt;span id=&amp;quot;languages&amp;quot;&amp;gt;languages&amp;lt;/span&amp;gt;:&lt;br /&gt;
* [[hreview-fr|français]]&lt;br /&gt;
* [[hreview-ja|日本語]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hresume&amp;diff=70695</id>
		<title>hresume</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hresume&amp;diff=70695"/>
		<updated>2024-06-20T23:39:19Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:hResume}}&lt;br /&gt;
{{latest|h-resume}}&lt;br /&gt;
{{DraftSpecification}}&lt;br /&gt;
hResume is a microformat for publishing resumes and CVs. hResume is one of several open microformat standards suitable for embedding in HTML, XHTML, Atom, RSS, and arbitrary XML.&lt;br /&gt;
&lt;br /&gt;
Want to get started with writing an hResume? Use the [http://recherche.telecom-bretagne.eu/labo_communicant/dev_labc/hResumeCreator.php hResume Creator] to create your hResume and publish it, or follow the hResume authoring tips to add hResume markup to your web page or blog. &lt;br /&gt;
&lt;br /&gt;
==Microformats Draft Specification==&lt;br /&gt;
&lt;br /&gt;
; Editors: &amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;[http://tantek.com Tantek Çelik]&amp;lt;/span&amp;gt; and &amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;[http://glennjones.net Glenn Jones]&amp;lt;/span&amp;gt;&lt;br /&gt;
; Previous Editor &amp;amp;amp; Author: &amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;[http://theryanking.com Ryan King]&amp;lt;/span&amp;gt;&lt;br /&gt;
; Acknowledgments: See [http://microformats.org/wiki/hresume#Acknowledgements  acknowledgments].&lt;br /&gt;
&lt;br /&gt;
Microformats [http://microformats.org/wiki/hresume#Copyright copyright] and [http://microformats.org/wiki/hresume#Patents patents] statements apply.&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
Draft, version 0.1.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
=== Semantic XHTML Design Principles ===&lt;br /&gt;
{{SemanticXHTMLDesignPrinciples}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== In General ===&lt;br /&gt;
The hResume format is based on a set of fields common to numerous resumes published today on the web.  Where possible field names have been chosen and reused from preexisting microformats.&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
The hResume schema consists of the following:&lt;br /&gt;
&lt;br /&gt;
* hResume&lt;br /&gt;
** summary. optional. text.&lt;br /&gt;
** contact info. required. {{must}} use [[hcard|hCard]]; {{should}} use &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;address&amp;amp;gt;&amp;lt;/code&amp;gt; + [[hcard|hCard]].&lt;br /&gt;
** experience. optional. One or more [[hcalendar]] events with the class name '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;experience&amp;lt;/code&amp;gt;', with an embedded [[hcard|hCard]] indicating the job title, name of company, address of company etc.&lt;br /&gt;
** education. optional One or more [[hcalendar]] events with the class name '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;education&amp;lt;/code&amp;gt;', with an embedded [[hcard|hCard]] indicating the name of school, address of school etc.&lt;br /&gt;
** skills. optional. phrases or keywords using the [[rel-tag]] microformat with the class name '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;skill&amp;lt;/code&amp;gt;'.&lt;br /&gt;
** affiliations. optional. the class name &amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;affiliation&amp;lt;/code&amp;gt; along with an [[hcard]] of the organization&lt;br /&gt;
** publications. optional. One or more citations. Use cite tag.&lt;br /&gt;
&lt;br /&gt;
=== Field details ===&lt;br /&gt;
The fields of the hResume schema represent the following:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;''':: root class name&lt;br /&gt;
* '''&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;summary&amp;lt;/code&amp;gt;''':: The class name &amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;summary&amp;lt;/code&amp;gt; is used to mark up an overview of qualifications and objectives.&lt;br /&gt;
* '''contact''':: Current contact info in an [[hCard]]; {{should}} use &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;address&amp;amp;gt;&amp;lt;/code&amp;gt; with [[hCard]] when possible.&lt;br /&gt;
* '''&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;education&amp;lt;/code&amp;gt;''':: the class name '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;education&amp;lt;/code&amp;gt;' is applied to an [[hcalendar]] event.&lt;br /&gt;
* '''&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;experience&amp;lt;/code&amp;gt;''':: the class name '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;experience&amp;lt;/code&amp;gt;' is applied to an [[hcalendar]] event. Job titles/positions should use an [[hCard]].&lt;br /&gt;
* '''&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;skill&amp;lt;/code&amp;gt;''':: An hResume may be tagged using the [[rel-tag]] microformat and the '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;skill&amp;lt;/code&amp;gt;' class name.&lt;br /&gt;
* '''&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;affiliation&amp;lt;/code&amp;gt;''':: The class name &amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;affiliation&amp;lt;/code&amp;gt; is used along with an [[hcard]] of the organization&lt;br /&gt;
* '''publications''':: just use &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;cite&amp;amp;gt;&amp;lt;/code&amp;gt;.  When there is a [[citation]] microformat, then that can be used in combination with the cite element to further markup the components of the citation.&lt;br /&gt;
&lt;br /&gt;
=== XMDP Profile ===&lt;br /&gt;
* [[hresume-profile]] (@TODO)&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
This section is informative.&lt;br /&gt;
&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Summary ===&lt;br /&gt;
An example summary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;summary&amp;quot;&amp;gt;&lt;br /&gt;
  I have 10 years experience with all Web 2.0 technologies– I've been working with Ajax since 1996, &lt;br /&gt;
  designing with pastels while others will still using tiled background images and frames...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;address class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Pedro Sanchez&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;street-address&amp;quot;&amp;gt;123 Fake St.&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Preston&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;Idaho&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;83263&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span&amp;gt;Email: &amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:joe@example.com&amp;quot;&amp;gt;pedro@vote-for-pedro.com&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span&amp;gt;Homepage: &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://vote-for-pedro.com/&amp;quot;&amp;gt;vote-for-pedro.com&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span&amp;gt;Phone: &amp;lt;span class=&amp;quot;tel&amp;quot;&amp;gt;+01.208.555.4567&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/address&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Education ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ol class=&amp;quot;vcalendar&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;education vevent&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;summary vcard&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;url fn org&amp;quot; href=&amp;quot;http://www.example.edu/&amp;quot;&amp;gt;Preston High School&amp;lt;/a&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;SomeCity&amp;lt;/span&amp;gt;, &lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;region&amp;quot; title=&amp;quot;Alaska&amp;quot;&amp;gt;AK&amp;lt;/abbr&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    (&amp;lt;abbr class=&amp;quot;dtstart&amp;quot; title=&amp;quot;2001-01-24&amp;quot;&amp;gt;2001&amp;lt;/abbr&amp;gt; - &amp;lt;abbr class=&amp;quot;dtend&amp;quot; title=&amp;quot;2005-05-25&amp;quot;&amp;gt;2005&amp;lt;/abbr&amp;gt;)&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experience ===&lt;br /&gt;
==== Basic ====&lt;br /&gt;
A basic experience event:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ol class=&amp;quot;vcalendar&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li class=&amp;quot;experience vevent&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;President&amp;lt;/span&amp;gt;,&lt;br /&gt;
    &amp;lt;span class=&amp;quot;location&amp;quot;&amp;gt;Preston High School&amp;lt;/span&amp;gt;,&lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;dtstart&amp;quot; title=&amp;quot;2004-09-01&amp;quot;&amp;gt;May 2004&amp;lt;/abbr&amp;gt; - &amp;lt;abbr title=&amp;quot;2005-05-25&amp;quot;&amp;gt;present&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Job Titles ====&lt;br /&gt;
To express one or more job titles/positions in the same experience event you should use one or more [[hcard|hCard]]s. hCard requires the &amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;fn&amp;lt;/code&amp;gt; (&amp;quot;formatted name&amp;quot;) field, but it isn't customary to repeat your name for every job title you mark up in [[hResume|hresume]]. So, you may use an &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;object&amp;amp;gt;&amp;lt;/code&amp;gt; and the class name '&amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;include&amp;lt;/code&amp;gt;' with a reference to the &amp;lt;code class=&amp;quot;class-name&amp;quot;&amp;gt;fn&amp;lt;/code&amp;gt; somewhere else on the page. &lt;br /&gt;
&lt;br /&gt;
Currently, the recommended way to reference includes within microformats is to use a hyperlink with class=&amp;quot;include&amp;quot;. See [[include-pattern|include-pattern]] for details.&lt;br /&gt;
&lt;br /&gt;
For example, this hCard refers to another hCard:&lt;br /&gt;
&lt;br /&gt;
Using &amp;lt;code&amp;gt;&amp;amp;lt;a&amp;amp;gt;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;#pedro-name&amp;quot; class=&amp;quot;include&amp;quot; title=&amp;quot;Pedro Sanchez&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;org&amp;quot;&amp;gt;Preston High School&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Class President&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using &amp;lt;code&amp;gt;&amp;amp;lt;object&amp;amp;gt;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;object  data=&amp;quot;#pedro-name&amp;quot; class=&amp;quot;include&amp;quot;&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;org&amp;quot;&amp;gt;Preston High School&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Class President&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;&amp;lt;code class=&amp;quot;attr-value&amp;quot;&amp;gt;pedro-name&amp;lt;/code&amp;gt;&amp;quot; is the id attribute value of the &amp;quot;&amp;lt;code class=&amp;quot;mf-prop&amp;quot;&amp;gt;fn n&amp;lt;/code&amp;gt;&amp;quot; element of the contact hCard at the top of the page, e.g. (shown here as a verbose hCard for purposes of illustration that the reference may be to a subtree, not just a text node):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;address class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;fn n&amp;quot; id=&amp;quot;pedro-name&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Pedro&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;family-name&amp;quot;&amp;gt;Sanchez&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/address&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This method of hCard property indirection via an object element [[include-pattern|has been generalized]] to apply to any/all string/text properties in hCard.&lt;br /&gt;
&lt;br /&gt;
Note: the object data attribute {{must}} be a local ID reference. External references (which would require a consuming application to load an external resource) are not supported by this method.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
Some sample skills tags:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
I have skills in &amp;lt;a class=&amp;quot;skill&amp;quot; rel=&amp;quot;tag&amp;quot; href=&amp;quot;http://en.wikipedia.org/wiki/Bow_%28weapon%29&amp;quot;&amp;gt;bow hunting&amp;lt;/a&amp;gt; &lt;br /&gt;
and &amp;lt;a class=&amp;quot;skill&amp;quot; rel=&amp;quot;tag&amp;quot; href=&amp;quot;http://en.wikipedia.org/wiki/Nunchucks&amp;quot;&amp;gt;nunchucks&amp;lt;/a&amp;gt;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Affiliations ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;affiliation vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn org&amp;quot;&amp;gt;National Honor Society&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Publications ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cite&amp;gt;Breeding Ligers for Fun and Magic&amp;lt;/cite&amp;gt;, Idaho Press, 2004.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
See [[hresume-examples-in-wild]]&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse hResumes. If you have an hResume implementation, 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 [[hresume-implementations]].&lt;br /&gt;
&lt;br /&gt;
* [http://ben.balter.com/2010/09/12/wordpress-resume-plugin/ WP Resume] is an out-of-the-box solution to publish your resume on your WordPress site and outputs the resume in an hResume compatible template.&lt;br /&gt;
&lt;br /&gt;
* [http://www.cvmatch4jobs.com/ cvmatch4jobs] has implemented hResume import for publicly published CV's. A Career site for 3 UK building and proprety magazines from publishers UBM. 19 Jan 2010.&lt;br /&gt;
&lt;br /&gt;
* [http://careercv.mad.co.uk/ CareerCV] has implemented hResume import for publicly published CV's. A Career site for major UK design magazines from publishers Centaur Communications. 19 Jan 2010.&lt;br /&gt;
&lt;br /&gt;
* [http://lab.madgex.com/hresume/ Madgex] has implemented hResume to Microsoft Word and PDF conversion API. 13 Dec 2009. &lt;br /&gt;
&lt;br /&gt;
* [http://jobs.guardian.co.uk/profile/ Guardian Jobs] has implemented hResume import for publicly published CV's. 4 Sep 2009.&lt;br /&gt;
&lt;br /&gt;
* [http://www.yiid.com/ YIID - Your Internet Identity] supports importing of hResumes (e.g. here is the result of an import: http://pfefferle.yiid.com/cv [requires login] via @pfefferle)&lt;br /&gt;
&lt;br /&gt;
* [[Resume.app]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.xing.com/ Xing] generates hResume for all Public Profiles. [http://www.xing.com/profile/Matthias_Pfefferle Xing Public Profile Example].&lt;br /&gt;
&lt;br /&gt;
* [http://linkedin.com LinkedIn] generates hResume for all Public Profiles. [http://www.linkedin.com/in/steveganz LinkedIn Public Profile Example].&lt;br /&gt;
&lt;br /&gt;
* [http://www.antix.co.uk Anthony Johnston] has implemented hResume (Creation and Import) in the [http://cv.antix.co.uk Antix CV Builder], an example resume using this site can be found [http://cv.antix.co.uk/ant here]&lt;br /&gt;
** The example resume is ''invalid''; job titles are marked with an hCard that is missing a &amp;quot;fn&amp;quot; (either directly or via object). --[[User:Gazza|Gazza]] 04:23, 1 May 2007 (PDT)&lt;br /&gt;
*** This is fixed now --[[User:Antix|Ant]] 00:38, 8 Dec 2007 (GMT)&lt;br /&gt;
&lt;br /&gt;
* The [http://spurinc.com Spur] team has created an hResume WordPress plugin located at [http://hresume.weblogswork.com/?page_id=3 hResume Plugin].  See an example of the hResume markup [http://hresume.weblogswork.com/?page_id=6 here].  Neat feature of the hResume plugin is that it automatically creates a new page for the resume - no cutting and pasting...&lt;br /&gt;
&lt;br /&gt;
* Spur also created a standalone hResume Creator located at [http://hresume.weblogswork.com/hresumecreator/ hResume Creator].  The creator will generate hResume markup ready to cut and paste into your webpage.&lt;br /&gt;
&lt;br /&gt;
== Copyright ==&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
* [[RyanKing]]: I release all of my contributions to the public domain.&lt;br /&gt;
&lt;br /&gt;
Per the above, and the public domain release on the author, [[User:RyanKing|RyanKing]]'s, user page this specification is released into the public domain.&lt;br /&gt;
&lt;br /&gt;
{{MicroFormatPublicDomainContributionStatement}}&lt;br /&gt;
&lt;br /&gt;
== Patents ==&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [[hcalendar|hCalendar]]&lt;br /&gt;
* [[include-pattern|include pattern]]&lt;br /&gt;
* [http://www.w3.org/TR/REC-html40/ HTML 4]&lt;br /&gt;
* [http://www.w3.org/TR/xhtml1/ XHTML]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* [[rel-tag| Rel-Tag]]&lt;br /&gt;
* [[rfc-2119]]&lt;br /&gt;
* @TODO&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* @TODO&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
=== Concept ===&lt;br /&gt;
* [http://theryanking.com/ Ryan King] ([http://technorati.com Technorati])&lt;br /&gt;
* [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati])&lt;br /&gt;
* James Levine ([http://simplyhired.com Simply Hired])&lt;br /&gt;
* [http://epeus.blogspot.com/ Kevin Marks] ([http://technorati.com Technorati])&lt;br /&gt;
&lt;br /&gt;
== Related Pages ==&lt;br /&gt;
{{hresume-related-pages}}&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
* [http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-6-hresume/ Getting Semantic With Microformats, Part 6: hResume] by Emily Lewis&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:hResume]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hrecipe&amp;diff=70694</id>
		<title>hrecipe</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hrecipe&amp;diff=70694"/>
		<updated>2024-06-20T23:35:28Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:hRecipe 0.22}}&lt;br /&gt;
{{latest|h-recipe}}&lt;br /&gt;
{{Template:DraftSpecification}}&lt;br /&gt;
{{TOC-right}}&lt;br /&gt;
http://www.livingathome.de/test/recipe/hRecipe.png&lt;br /&gt;
&lt;br /&gt;
[[recipe|hRecipe]] is a simple, open, distributed format, suitable for embedding information about recipes for cooking in (X)HTML, Atom, RSS, and arbitrary XML. hRecipe is one of several [[microformats]] open standards. This page and Microformat is in the public domain.&lt;br /&gt;
&lt;br /&gt;
== hRecipe Microformat Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* [[User:ThomasLoertsch | Thomas Lörtsch]]&lt;br /&gt;
&lt;br /&gt;
=== Authors ===&lt;br /&gt;
* [[User:Phae|Frances Berriman]]&lt;br /&gt;
* [[User:BenWard|Ben Ward]]&lt;br /&gt;
* [[User:TobyInk|Toby Inkster]]&lt;br /&gt;
&lt;br /&gt;
=== Contributors===&lt;br /&gt;
[[User:AndyMabbett|Andy Mabbett]], [[User:Phae|Frances Berriman]], [[User:IamCam|Cameron Perry]], [[User:JohnLeMasney|John LeMasney]], [[User:Tantek|Tantek Çelik]], [[User:SudarshanP|SudarshanP]], [[User:CiaranMc|Ciaran McNulty]], [[User:LeeJordan|Lee Jordan]], [[User:RobertBachmann|Robert Bachmann]], [[User:JeffMcNeill|jeffmcneill]], [[User:ManuSporny|Manu Sporny]], [[User:RyanKing|Ryan King]], HollyMarieKoltz, Straup, [[User:ChristopheDucamp|Christophe Ducamp]], Mercman, [[User:Yde|Yde]], [[User:AmeerDawood|Ameer Dawood]], Scottk, [[User:Lee_Jordan|Lee Jordan]], MonroAlmon, EstevaoSamuel, [[User:Brian|Brian Suda]], SteveL, JohnLeMasney, &lt;br /&gt;
&lt;br /&gt;
Microformats [[#Copyright]] and [[#Patents]] statements apply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The hRecipe microformat is designed for the mark-up of instructions for creating meals, drinks or food-based items.  &lt;br /&gt;
&lt;br /&gt;
It is difficult for a browser to extract semantic information about a recipe described on a web page. Metadata such as author and name and details such as ingredients, method, preparation time etc provide relevant information about the recipe.&lt;br /&gt;
&lt;br /&gt;
Having such information marked up can provide a number of benefits to the viewer. If a web browser understands that a particular web page contains a recipe with specific characteristics, it can produce richer interactions. For example, specific searches may be performed for ingredients or authors via general search services such as Google and Wikipedia. Additionally, classification by crawlers can become more accurate. If there are 20 recipes found on a page, and they all contain a certain ingredient, it can be assumed that the page is not only about cooking, but also about that particular ingredient.&lt;br /&gt;
&lt;br /&gt;
In order to enable and encourage the sharing, distribution, syndication, and aggregation of recipes, the authors propose the hRecipe microformat, an open standard for distributed recipe metadata. The authors have researched both numerous [[recipe-examples]] in the wild and earlier attempts at [[recipe-formats]], and have designed hRecipe around a simple minimal schema for recipe content.  Feedback is encouraged on the [[recipe-feedback|hRecipe feedback]] page.&lt;br /&gt;
&lt;br /&gt;
=== Inspiration and Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
Many thanks to the various individuals that did research and proposed ideas and discussion related to the hRecipe-format and recipes in general.&lt;br /&gt;
&lt;br /&gt;
=== Scope ===&lt;br /&gt;
&lt;br /&gt;
hRecipe is a format to annotate descriptions and lists of ingredients for the preparation of food and meals. Recipes consistently share several common properties. hRecipe has been based on this minimal common subset.&lt;br /&gt;
&lt;br /&gt;
=== Out of scope ===&lt;br /&gt;
&lt;br /&gt;
Recipes that are not for stuff that's meant to be eaten by humans are out of scope.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
=== In General ===&lt;br /&gt;
The hRecipe format is based on a set of properties common to numerous recipe sites and formats in use today on the web.  Where possible property names have been chosen based on those defined by related microformat standards.&amp;lt;br&amp;gt;&lt;br /&gt;
Some properties are marked ''experimental'' since they exceed the minimum set of properties needed to describe a recipe but still are very commonly used on the web. It's not sure if they are relevant enough for inclusion in the format. Implementation and general uptake of these properties will be observed and inform further decisions. So their use is not at all discouraged - but use them with care and be prepared for their eventual removal from the final spec.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
The hRecipe schema consists of the following properties:&lt;br /&gt;
&lt;br /&gt;
* '''hrecipe'''&lt;br /&gt;
** '''fn'''. required. text. the name of the recipe.&lt;br /&gt;
** '''ingredient'''. required. 1 or more. text with optional valid (x)HTML markup.&lt;br /&gt;
*** '''''value''''' and '''''type'''''. optional. [experimental]&lt;br /&gt;
** '''''yield'''''. optional. text.&lt;br /&gt;
** '''''instructions'''''. optional. text with optional valid (x)HTML markup.&lt;br /&gt;
** '''''duration'''''. optional. 1 or more. text.&lt;br /&gt;
** ''photo''. optional. 1 or more. using any element containing a URL, such as IMG. [experimental]&lt;br /&gt;
** ''summary''. optional. text. [experimental]&lt;br /&gt;
** ''author''. optional. 1 or more. [experimental]&lt;br /&gt;
** ''published''. optional. [experimental]&lt;br /&gt;
** ''nutrition''. optional. 1 or more. [experimental]&lt;br /&gt;
*** ''value'' and ''type''. optional. [experimental]&lt;br /&gt;
** ''tag''. optional. 1 or more. [experimental]&lt;br /&gt;
** ''license''. optional. 1 or more. just use [[rel-license]] to license recipe permalink pages&lt;br /&gt;
&lt;br /&gt;
=== Property details ===&lt;br /&gt;
&lt;br /&gt;
Property names &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;,  &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; are reused from [[hCard]]. Property name &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;  is reused from [[hAudio]]. Property name &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; is reused from [[hCalendar]]. Property name &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; is reused from [[hAtom]]. Property name &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt; is reused from [[rel-tag]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fields of the hRecipe schema represent the following:&lt;br /&gt;
&lt;br /&gt;
==== hRecipe ====&lt;br /&gt;
&lt;br /&gt;
A hRecipe is used to identify and describe values and metadata typically associated with a recipe.&lt;br /&gt;
&lt;br /&gt;
* A hRecipe property is identified by the name &amp;lt;code&amp;gt;hrecipe&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== fn ====&lt;br /&gt;
&lt;br /&gt;
The title of a single recipe. A short textual description used to identify the work among interested parties. This can be the name of a meal or a short description regarding it's ingredients.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{must}} include a &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The property {{must}} follow the conventions outlined in [[hCard]] e.g. by using only plain text.&lt;br /&gt;
&lt;br /&gt;
==== ingredient ====&lt;br /&gt;
  &lt;br /&gt;
Describes one or more ingredients used in the recipe.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{must}} include one or more &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;s.&lt;br /&gt;
* The property {{may}} include valid HTML markup (e.g. a list of ingredients).&lt;br /&gt;
* The property {{may}} include the properties &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; following the conventions outlined in [[hCard]], e.g. &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;p class=&amp;quot;ingredient&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;125&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;ml&amp;lt;/span&amp;gt; milk&amp;lt;/p&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; In this case each ingredient should be marked up with it's own &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt; property. These subproperties are considered ''experimental'' and may be removed from the final specification or replaced by 'num' and 'unit' from [[measure]].&lt;br /&gt;
&lt;br /&gt;
==== yield ====&lt;br /&gt;
&lt;br /&gt;
Specifies the quantity produced by the recipe, like how many persons it satisfyies or how many pieces can be made of it.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include a &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== instructions ====&lt;br /&gt;
&lt;br /&gt;
The method of the recipe.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include a &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; property. &lt;br /&gt;
* The property {{may}} include valid HTML markup e.g. paragraphs or a list of steps.&lt;br /&gt;
&lt;br /&gt;
==== duration ====&lt;br /&gt;
&lt;br /&gt;
The time it takes to prepare the meal described by the recipe. Multiple duration properties can be used to denote  e.g. time for preparing a dough, time needed for the dough to raise, time to bake the dough, time for decorating the cake etc.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include one or more &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; properties.&lt;br /&gt;
* The property {{may}} encode the timespan as outlined in the [[value-class-pattern|value-class-pattern]]. A duration of 1 hour 30 minutes would translate to &amp;quot;PT1H30M&amp;quot; in ISO 8601 format and can be encoded as follows:&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;PT1H30M&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;90 min&amp;lt;/span&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== photo ====&lt;br /&gt;
&lt;br /&gt;
Accompanying image.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include one or more &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; properties.&lt;br /&gt;
* The property {{should}} use an &amp;amp;lt;img&amp;amp;gt; element. It {{may}} use any other element that contains a URL, such as &amp;amp;lt;a&amp;amp;gt; or &amp;amp;lt;object&amp;amp;gt;, but it is not recommended. See [[hRecipe#Semantic_XHTML_Design_Principles | notes]] below.&lt;br /&gt;
* The property is considered ''experimental'' and may be removed from the final specification.&lt;br /&gt;
&lt;br /&gt;
==== summary ====&lt;br /&gt;
&lt;br /&gt;
The summary provides a short introduction to or an accompanying statement about the recipe.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include a &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The property {{must}} follow the conventions outlined in [[hCalendar]]. Plain text fulfills these requirements.&lt;br /&gt;
* The property is considered ''experimental'' and may be removed from the final specification.&lt;br /&gt;
&lt;br /&gt;
==== author ====&lt;br /&gt;
&lt;br /&gt;
An author is the person who wrote the recipe.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include one or more &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; properties.&lt;br /&gt;
* The contents of the element {{may}} be a plain text string in which case it defaults to a &amp;quot;vcard fn&amp;quot;. Anything more elaborate  {{must}} follow the conventions outlined in [[hCard]]. &lt;br /&gt;
* The element is considered ''experimental'' and may be removed from the final specification.&lt;br /&gt;
&lt;br /&gt;
==== published ====&lt;br /&gt;
&lt;br /&gt;
The date the recipe was published.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include a &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; date.&lt;br /&gt;
* The property {{may}} be encoded using the [[value-class-pattern|value-class-pattern]], e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;p&amp;gt;Published &amp;lt;span class=&amp;quot;published&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;2008-10-14T10:05:37-01:00&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;14. Oct 2008&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* The property is considered ''experimental'' and may be removed from the final specification.&lt;br /&gt;
&lt;br /&gt;
==== nutrition ====&lt;br /&gt;
&lt;br /&gt;
Nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by name &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include one or more &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt; properties.&lt;br /&gt;
* The property {{may}} include the properties &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; following the conventions outlined in [[hCard]]. In this case each nutritional information item should be marked up with it's own &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt; property. These subelement are considered ''experimental'' and may be replaced by 'num' and 'unit' from [[measure]].&lt;br /&gt;
* The property &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt; itself is also considered ''experimental'' and may be removed from the final specification.&lt;br /&gt;
&lt;br /&gt;
==== tag ====&lt;br /&gt;
&lt;br /&gt;
A keyword indicating a subject or an important aspect of the recipe like it's main ingredient, type of meal etc.&lt;br /&gt;
&lt;br /&gt;
* The property is identified by the name &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A Recipe {{may}} include one or more &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;'s.&lt;br /&gt;
* The property {{must}} follow the conventions outlined in [[rel-tag]].&lt;br /&gt;
* The property is considered ''experimental'' and may be removed from the final specification.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== license ====&lt;br /&gt;
'license' is simply re-use of the [[rel-license]] microformat as a building block.&lt;br /&gt;
&lt;br /&gt;
Use [[rel-license]] to link to a license for the recipe on the recipe permalink page.&lt;br /&gt;
&lt;br /&gt;
=== Version history ===&lt;br /&gt;
&lt;br /&gt;
* Version 0.22 changed the proposed formatting of time and date from the [[datetime-design-pattern|datetime-design-pattern]], which has [[datetime-design-pattern#Accessibility_issues|accessibility issues]], to the [[value-class-pattern|value-class-pattern]]. Also corrected some errors in the example especially with regard to the correct handling of vcard properties.&lt;br /&gt;
* Version 0.21 changed the status of ingredient/value and ingredient/type to ''experimental'', mentioning that there still is discussion if they should be replaced by 'num' and 'unit' from [[measure]]  (which is still in brainstorming).&lt;br /&gt;
* Version 0.2: From [http://microformats.org/wiki/index.php?title=hrecipe&amp;amp;oldid=37357  Version 0.1] some elements have been renamed to strenghten re-use of established elements: '''fn''' for '''hRecipe-title''', '''summary''' for '''hRecipe-summary''', '''duration''' for '''preparation-time''', '''value''' and '''type''' for '''num''' and '''unit'''. Also some elements have been marked '''experimental''' because of concerns of element bloat. See the [[hrecipe-issues]] page for a more thorough discussion.&amp;lt;br/&amp;gt;Draft 0.1 was already a result of long lasting efforts. Nonetheless after publishing of it there has been a lively debate about some properties. Since they mostly could be resolved version 0.2 is considered fairly stable now, although of course you never know ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parser Processing Notes ===&lt;br /&gt;
&lt;br /&gt;
* If the &amp;quot;author&amp;quot; property contains only a plain text string it should be regarded as of type &amp;quot;vcard fn&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Semantic XHTML Design Principles ===&lt;br /&gt;
&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== More Semantic Equivalents ====&lt;br /&gt;
&lt;br /&gt;
For some properties there is a more semantic equivalent, and therefore they get special treatment, e.g.: &lt;br /&gt;
&lt;br /&gt;
* For &amp;quot;photo&amp;quot;, use &amp;lt;code&amp;gt;&amp;lt;img class=&amp;quot;photo&amp;quot; src=&amp;quot;...&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Language ====&lt;br /&gt;
&lt;br /&gt;
* To explicitly convey the natural language that an recipe is written in, use the standard (X)HTML 'lang' or 'xml:lang' attribute on the element with class=&amp;quot;hrecipe&amp;quot;&lt;br /&gt;
**e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;I like &amp;lt;span class=&amp;quot;hrecipe&amp;quot; lang=&amp;quot;de&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Kartoffelknödel&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; best.&amp;lt;/p&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*If portions of an hRecipe (e.g. an ingredient name) are in a different language to the rest of the hRecipe, use the 'lang' or 'xml:lang' attribute on those portions.&lt;br /&gt;
* hRecipe parsers which need to handle the native language of hRecipe {{must}} process the standard (X)HTML 'lang' or 'xml:lang' attribute as specified.&lt;br /&gt;
* hRecipe parsers which need to handle native language {{may}} traverse up the DOM to discover the native language of the page and apply that to the hRecipe if no other language is specified on the hRecipe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Human vs. Machine Readable ====&lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;gt;&amp;lt;/code&amp;gt; element is used for a property, then its '&amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;' attribute is used for the value of the property, instead of the contents of the element, which can then be used to provide a user-friendly alternate presentation of the value. &lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;a&amp;amp;gt;&amp;lt;/code&amp;gt; element is used for one or more properties, it {{must}} be treated as follows:&lt;br /&gt;
# For the 'photo' property and any other property that takes a URL as its value, the &amp;lt;code&amp;gt;href=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; attribute provides the property value.&lt;br /&gt;
# For other properties, the element's content is the value of the property.&lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;img&amp;amp;gt;&amp;lt;/code&amp;gt; element is used for the 'photo' property, it {{must}} use the property value provided by the &amp;lt;code&amp;gt;src=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; attribute as property value.&lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;object&amp;amp;gt;&amp;lt;/code&amp;gt; element is used for the 'photo' property, it {{must}} use the property value provided by the &amp;lt;code&amp;gt;data=&amp;quot;...&amp;quot;&amp;lt;/code&amp;gt; attribute as property value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
This section is informative.&lt;br /&gt;
&lt;br /&gt;
*Non so far.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XMDP Profile ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl class=&amp;quot;profile&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dt&amp;gt;class&amp;lt;/dt&amp;gt;&lt;br /&gt;
 &amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  &amp;lt;a rel=&amp;quot;help&amp;quot; href=&amp;quot;http://www.w3.org/TR/html401/struct/global.html#adef-class&amp;quot;&amp;gt;&lt;br /&gt;
   HTML4 definition of the 'class' attribute.&amp;lt;/a&amp;gt;&lt;br /&gt;
  This meta data profile defines some 'class' attribute values (class names) &lt;br /&gt;
  and their meanings as suggested by a &lt;br /&gt;
  &amp;lt;a href=&amp;quot;http://www.w3.org/TR/WD-htmllink-970328#profile&amp;quot;&amp;gt;&lt;br /&gt;
   draft of &amp;quot;Hypertext Links in HTML&amp;quot;&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;dl&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;hrecipe&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    Used to identify and describe metadata associated with instructions for creating meals, drinks or food-based items.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;fn&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    The title of the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;ingredient&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    Describes the ingredient(s) used in the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;yield&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    Specifies the quantity produced by the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;instructions&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    The method of the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;duration&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    The time it takes to prepare the meal described by the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;photo&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    Accompanying image.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;summary&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    The summary provides a short introduction or an accompanying statement about the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;author&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
   The person who authored the recipe..&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;published&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    The date that the recipe was made available to the public.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;nutrition&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    Nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt&amp;gt;tag&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;&lt;br /&gt;
    Keyword(s) describing the recipe.&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
  &amp;lt;/dl&amp;gt;&lt;br /&gt;
 &amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
This section is informative.&lt;br /&gt;
&lt;br /&gt;
Here '''will be''' a few examples of recipes, from real web sites, showing how they could be easily enhanced to use hRecipe. In the meantime the following contrieved example will have to do.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;hrecipe&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1 class=&amp;quot;fn&amp;quot;&amp;gt;Pommes Frites&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;summary&amp;quot;&amp;gt;&lt;br /&gt;
        Pommes frites originate in outer space. They are served hot.&amp;lt;br /&amp;gt;&lt;br /&gt;
        This recipe is only an example. Don't try this at home!&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
        Contributed by &amp;lt;span class=&amp;quot;author&amp;quot;&amp;gt;CJ Tom&amp;lt;/span&amp;gt; and the&lt;br /&gt;
        &amp;lt;span class=&amp;quot;author vcard&amp;quot;&amp;gt;&amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://example.com&amp;quot;&amp;gt;Cooky Gang&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
     &amp;lt;p&amp;gt;Published &amp;lt;span class=&amp;quot;published&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;2008-10-14T10:05:37-01:00&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;14. Oct 2008&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;img src=&amp;quot;/img/pommes.png&amp;quot; class=&amp;quot;photo&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;100&amp;quot; alt=&amp;quot;Pommes Frites&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Ingredients&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li class=&amp;quot;ingredient&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;500&amp;lt;/span&amp;gt; &lt;br /&gt;
            &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;gramme&amp;lt;/span&amp;gt; potatoes, hard cooking.&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li class=&amp;quot;ingredient&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;spoonful&amp;lt;/span&amp;gt; of salt&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
            You may want to provide some &lt;br /&gt;
            &amp;lt;span class=&amp;quot;ingredient&amp;quot;&amp;gt;Ketchup and Mayonnaise&amp;lt;/span&amp;gt;&lt;br /&gt;
            as well.&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Instructions&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;ul class=&amp;quot;instructions&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;First wash the potatoes.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;Then slice and dice them and put them in boiling fat.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;After a few minutes take them out again.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;h2&amp;gt;Further details&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Enough for &amp;lt;span class=&amp;quot;yield&amp;quot;&amp;gt;12 children&amp;lt;/span&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Preparation time is approximately &lt;br /&gt;
        &amp;lt;span class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;PT1H30M&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;90 min&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Add &amp;lt;span  class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;PT30M&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;half an hour&amp;lt;/span&amp;gt; to prepare your homemade Ketchup.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;This recipe is &amp;lt;a href=&amp;quot;http://www.example.com/tags/difficulty/easy&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;easy&amp;lt;/a&amp;gt; and &amp;lt;a href=&amp;quot;http://www.example.com/tags/tastyness/delicious&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;delicious&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;nutrition&amp;quot;&amp;gt;&lt;br /&gt;
        Pommes Frites have more than &lt;br /&gt;
        &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;1000&amp;lt;/span&amp;gt; &lt;br /&gt;
        &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;Joule&amp;lt;/span&amp;gt;&lt;br /&gt;
        Energy&amp;lt;/span&amp;gt;, &lt;br /&gt;
        while Ketchup and Mayonnaise have &lt;br /&gt;
        &amp;lt;span class=&amp;quot;nutrition&amp;quot;&amp;gt;0 vitamins&amp;lt;/span&amp;gt;.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Want to write valid [[hrecipe|hRecipe]]?  Use the [http://microformats.org/code/hrecipe/creator hRecipe creator] (not implemented yet) to write about recipes and publish it on your blog. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
&lt;br /&gt;
This section is '''informative'''.  &lt;br /&gt;
&lt;br /&gt;
Sites and pages that publish hRecipes. When it gets too big we can move it to a separate page like [[hrecipe-examples-in-wild]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.vegichef.de/ Vegichef.de]'s recipes are marked up with hRecipe e.g. [http://www.vegichef.de/rezepte/seitan-doner-mit-zaziki/ Seitan Döner mit Tsatsiki]&lt;br /&gt;
* [http://funcook.com/ Red social de recetas de cocina] recipes are marked up with hRecipe e.g. [http://funcook.com/receta.php?id=124 Pollo al curry con arroz basmati]&lt;br /&gt;
* [http://www.therecipedepository.com The Recipe Depository] recipes are marked up with hRecipe e.g. [http://therecipedepository.com/recipe/650/african-sweet-potato-and-peanut-stew African Sweet Potato and Peanut Stew]&lt;br /&gt;
* [http://sabores.sapo.pt/ SAPO Sabores]'s recipes are marked up with hRecipe, e.g. [http://sabores.sapo.pt/receita/espetadas-de-camarao-com-molho-picante Receita: Espetadas de camar&amp;amp;atilde;o com molho picante - SAPO Sabores]&lt;br /&gt;
&lt;br /&gt;
* [http://www.epicurious.com/ Epicurious.com]'s [http://www.epicurious.com/recipesmenus/ recipes] have been marked up with hRecipe as of April 2010. (E.g., [http://www.epicurious.com/recipes/food/views/Chocolate-Almond-and-Banana-Parfaits-357369 Chocolate, Almond, and Banana Parfaits])&lt;br /&gt;
* [http://www.williams-sonoma.com/ Williams-Sonoma]'s [http://www.williams-sonoma.com/recipe/ recipes section], e.g. [http://www.williams-sonoma.com/recipe/cherry-almond-bundt-cake.html Cherry Almond Bundt Cake]&lt;br /&gt;
* http://foodnetwork.com/ has marked up all their recipes with hRecipe as of 2009-10, e.g. [http://www.foodnetwork.com/recipes/ina-garten/deep-dish-apple-pie-recipe2/index.html Deep-Dish Apple Pie recipe]&lt;br /&gt;
* [http://www.plantoeat.com/ Plan to Eat]'s [http://www.plantoeat.com/recipe_book recipe planner] is now in hRecipe format as of April 2010. (E.g., [http://www.plantoeat.com/recipes/4583/1fv1A5vFhjm Pasta With Smashed Peas])&lt;br /&gt;
* essen &amp;amp; trinken. As of spring 2009 [http://www.essen-und-trinken.de essen &amp;amp; trinken] publishes all recipes with hRecipe-conformant metadata encoded in RDF. See [[hrecipe-rdf]] for technical details.&lt;br /&gt;
* It's Ripe! As of January 2009, [http://itsripe.com/recipes/ http://itsripe.com] supports hRecipe for recipe pages and will soon add support in lists.&lt;br /&gt;
*'''Wild Mushroom, Pancetta &amp;amp; Truffle Risotto''' by Toby Inkster&lt;br /&gt;
** [http://tobyinkster.co.uk/blog/2008/10/23/mushroom-risotto/ Marked up as hRecipe] using the September 2007 draft format&lt;br /&gt;
** [http://srv.buzzword.org.uk/recipebook/tobyinkster.co.uk/blog/2008/10/23/mushroom-risotto/ RecipeBook XML] output from Cognition.&lt;br /&gt;
** [http://srv.buzzword.org.uk/rdf-xml/tobyinkster.co.uk/blog/2008/10/23/mushroom-risotto/ RDF/XML] and [http://srv.buzzword.org.uk/turtle/tobyinkster.co.uk/blog/2008/10/23/mushroom-risotto/ Turtle] output from Cognition.&lt;br /&gt;
* allrecipes.com e.g. [http://allrecipes.com//Recipe/slow-cooker-chicken-and-dumplings/Detail.aspx Slow cooker chicken and dumplings]&lt;br /&gt;
* food.com e.g. [http://www.food.com/recipe/chicken-and-dumplings-72963 Chicken dumplings]&lt;br /&gt;
* tablespoon.com e.g. [http://www.tablespoon.com/recipes/old-fashioned-chicken-and-dumplings-recipe/1/ Chicken dumplings]&lt;br /&gt;
* shopglider.com e.g. [http://shopglider.com/r/dimathepublisher/19/Fatush-Salad/ Fatush Salad]&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''. &lt;br /&gt;
&lt;br /&gt;
Tools for generating and consuming hRecipes. When it gets too big we can move it to a separate page like [[hrecipe-implementations]].&lt;br /&gt;
&lt;br /&gt;
Consuming hRecipes (sites and tools that consume and do something with hRecipes)&lt;br /&gt;
* '''[[Google Search]] feature: Recipes''' . Launched 24th February, 2011, [http://www.google.com/landing/recipes/ Recipe View] search results from Google are powered by hRecipe marked-up snippets.&lt;br /&gt;
* '''Cognition.'''  As of September 2008, [http://buzzword.org.uk/cognition/ Cognition] has experimental support for this format. ([http://buzzword.org.uk/cognition/uf-plus.html#hrecipe Details of support].) Recipes may be exported in [[recipe-formats#RecipeBook_XML|RecipeBook XML]] format or RDF.&lt;br /&gt;
&lt;br /&gt;
Generating hRecipes (sites and tools that help produce and publish hRecipes)&lt;br /&gt;
* '''[http://recipeseo.com/ RecipeSEO Application]''' - a nice hRecipe creator form with fields for title/name, ingredients (expandable), instructions, and more options (author, photo, yield, etc.)&lt;br /&gt;
* '''Recipe SEO WordPress Plugin''': [http://sushiday.com/recipe-seo-plugin/ RecipeSEO Plugin] helps you publish hRecipe on your self-hosted WordPress blog. Donation supported.&lt;br /&gt;
* '''WordPress hRecipe Plugin.''' There's a [http://wordpress.org/ WordPress ]  [http://wordpress.org/extend/plugins/hrecipe/ hRecipe Plugin] available which makes adding hRecipe metadata to recipes very easy, practically effortless. Very nice!&lt;br /&gt;
* '''hRecipeHelper Chrome Extension.''' Released 16th March, 2011 [https://chrome.google.com/webstore/detail/cgpnljccbfcjhhekfnikhpllfjpjidlj hRecipeHelper] A [[Chrome]] Extension for building hRecipe formatted HTML for blogging or websites.&lt;br /&gt;
* '''hRecipeHelper web app'''. Released 5th April, 2011 [http://bit.ly/hPcVDD hRecipeHelper-webapp] Very similar to the Chrome Extension but, now available for other modern browsers and even IE8.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [[abbr-design-pattern]]&lt;br /&gt;
* [[datetime-design-pattern]]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.w3.org/TR/REC-CSS1 CSS1]&lt;br /&gt;
* ISO.8601.1988&lt;br /&gt;
** International Organization for Standardization, &amp;quot;Data elements and interchange formats - Information interchange - Representation of dates and times&amp;quot;, ISO Standard 8601, June 1988.&lt;br /&gt;
* [http://www.w3.org/TR/1998/NOTE-datetime-19980827 W3C NOTE-datetime-19980827]&lt;br /&gt;
* [http://www.w3.org/Consortium/Patent-Policy-20040205/ W3C Patent Policy]&lt;br /&gt;
* Other recipe metadata efforts. See [[recipe-formats]].&lt;br /&gt;
* [[grouping-examples]]&lt;br /&gt;
* [[grouping-brainstorming]]&lt;br /&gt;
* [[xoxo|XOXO]]&lt;br /&gt;
&lt;br /&gt;
== Copyright ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;vevent&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Per [[Microformats_Wiki:Copyrights]], hRecipe was placed into the public domain&amp;lt;/span&amp;gt; on &amp;lt;span class=&amp;quot;dtstart&amp;quot;&amp;gt;2008-11-14&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; by the authors. There are no usage, distribution, re-printing, or any other restrictions of any kind with regards to the text or content of this specification.&lt;br /&gt;
&lt;br /&gt;
== Patents ==&lt;br /&gt;
&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Public Domain Release ==&lt;br /&gt;
&lt;br /&gt;
The authors and editors of this page due hereby relinquish their copyright on the document and release the text of this page into the public domain.&lt;br /&gt;
&lt;br /&gt;
* [[User:Phae|Frances Berriman]] (BBC)&lt;br /&gt;
* [[User:BenWard|Ben Ward]]&lt;br /&gt;
* [[User:TobyInk|Toby Inkster]]&lt;br /&gt;
* [[User:ThomasLoertsch | Thomas Loertsch]] ([http://www.essen-und-trinken.de Gruner+Jahr])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. &lt;br /&gt;
&lt;br /&gt;
== derivative works ==&lt;br /&gt;
* [[hrecipe-rdf|hRecipe in RDF]] - mapping of hRecipe into a RDF vocabulary called &amp;quot;aRecipe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==related pages==&lt;br /&gt;
* [[hrecipe-issues|hRecipe issues]] - issues regarding the hRecipe draft&lt;br /&gt;
* [[hrecipe-feedback|hRecipe feedback]] - general feedback regarding hRecipe&lt;br /&gt;
&lt;br /&gt;
Per the microformats [[process]], the [[recipe]] effort developed&lt;br /&gt;
* [[recipe-examples]]&lt;br /&gt;
* [[recipe-formats]]&lt;br /&gt;
* [[recipe-brainstorming]] (see also [[recipe-brainstorming-archive]])&lt;br /&gt;
* [[recipe-issues]]&lt;br /&gt;
towards the development of this draft.&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hnews&amp;diff=70693</id>
		<title>hnews</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hnews&amp;diff=70693"/>
		<updated>2024-06-20T23:33:41Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:hNews 0.1}}&lt;br /&gt;
{{Template:DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
hNews is a microformat for news content. hNews extends [http://microformats.org/wiki/hatom hAtom], introducing a number of fields that more completely describe a journalistic work. hNews also introduces another data format, [[rel-principles]], a format that describes the journalistic principles upheld by the journalist or news organization that has published the news item. hNews will be one of several open standards.&lt;br /&gt;
__TOC__&lt;br /&gt;
== Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
;Editor/Author&lt;br /&gt;
:[[:User:JonathanMalek|Jonathan Malek]] ([http://www.ap.org Associated Press])&lt;br /&gt;
&lt;br /&gt;
;Contributors&lt;br /&gt;
:[[:User:Smyles|Stuart Myles]] ([http://www.ap.org Associated Press]) &lt;br /&gt;
:[[:User:Martinjemoore|Martin Moore]] ([http://mediastandardstrust.org Media Standards Trust])&lt;br /&gt;
:[[:User:MarkNg|Mark Ng]] ([http://mediastandardstrust.org Media Standards Trust])&lt;br /&gt;
:[[:User:Tbmartinwiki|Todd B. Martin]] ([http://www.ap.org Associated Press])&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
Per the public domain release on the authors' user pages ([[:User:JonathanMalek|Jonathan Malek]]) this specification is released into the public domain. &lt;br /&gt;
&lt;br /&gt;
{{MicroFormatPublicDomainContributionStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
hNews is a microformat for identifying semantic information in news stories. It builds on [[hAtom]], while adding a number of fields that more completely define a journalistic work. hNews can be thought of as inheriting from [[hAtom]], since parsers and tools that do not understand the hNews extensions can still parse the [[hAtom]] content. However, those parsers and applications that understand hNews can enable a richer set of semantic actions on news stories.&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
== Semantic XHTML Design Principles ==&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== In General ===&lt;br /&gt;
hNews extends hAtom. As the hAtom draft format notes, &amp;quot;Atom provides a lot more functionality than we need for a 'blog post' microformat, so we've taken the minimal number of elements needed.&amp;quot; News stories typically introduce more fields (for instance, the publishing organization) than the current 0.1 draft of hAtom, and those fields are very important when reading or evaluating a news story. We focus on those fields that enable the development of semantic actions around news: license, principles, dateline (geo) and source organization.&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
The hNews schema consists of the following: &lt;br /&gt;
&lt;br /&gt;
* hNews ('''&amp;lt;code&amp;gt;hnews&amp;lt;/code&amp;gt;''') and '''&amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;'''.  required. Using [[hAtom]].&lt;br /&gt;
** '''&amp;lt;code&amp;gt;source-org&amp;lt;/code&amp;gt;'''. required. Using [[hCard]].[*]&lt;br /&gt;
** '''&amp;lt;code&amp;gt;dateline&amp;lt;/code&amp;gt;'''. optional. Using text or [[hCard]].&lt;br /&gt;
** '''&amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;'''. optional. Using [[geo]].[*]&lt;br /&gt;
** '''&amp;lt;code&amp;gt;item-license&amp;lt;/code&amp;gt;'''. recommended. Using a [[licensing-brainstorming#item_as_container|brainstorm proposal]].&lt;br /&gt;
** '''&amp;lt;code&amp;gt;principles&amp;lt;/code&amp;gt;'''. recommended. Using the draft microformat [[principles-brainstorming#rel-principles_specification|rel-principles]].&lt;br /&gt;
&lt;br /&gt;
[*] Some required elements have defaults if missing, see below.&lt;br /&gt;
&lt;br /&gt;
=== Field and Element Details ===&lt;br /&gt;
&lt;br /&gt;
==== hAtom Fields ====&lt;br /&gt;
&lt;br /&gt;
===== Entry =====&lt;br /&gt;
* an hNews story {{must}} be encoded as an [[hAtom]] &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;.&lt;br /&gt;
* if an hNews story cannot be parsed as an [[hAtom]] &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;, it is invalid hNews.&lt;br /&gt;
&lt;br /&gt;
==== Additional Fields ====&lt;br /&gt;
&lt;br /&gt;
===== Source Organization =====&lt;br /&gt;
* a Source Organization element is identified by the class name &amp;lt;code&amp;gt;source-org&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Source Organization represents the originating organization for the news story.&lt;br /&gt;
* a Source Organization {{must}} be encoded in an [[hCard]].&lt;br /&gt;
* if the Source Organization is missing &lt;br /&gt;
** find the [[algorithm-nearest-in-parent]] element(s) with class name &amp;lt;code&amp;gt;source-org&amp;lt;/code&amp;gt; and that is/are a valid [[hCard]]&lt;br /&gt;
** otherwise the entry is invalid hNews&lt;br /&gt;
&lt;br /&gt;
===== Dateline =====&lt;br /&gt;
* a dateline element is identified by the class name &amp;lt;code&amp;gt;dateline&amp;lt;/code&amp;gt;.&lt;br /&gt;
* dateline represents the location where the news story was written or filed (see [http://en.wikipedia.org/wiki/Dateline dateline] for more details).&lt;br /&gt;
* a dateline element {{may}} be encoded with an [[adr]], [[geo]] or [[hCard]].&lt;br /&gt;
* a news story {{should}} have a dateline element.&lt;br /&gt;
* dateline sometimes also includes the publish date of the news story. In such cases, use the [[datetime-design-pattern]] to encode the date.&lt;br /&gt;
&lt;br /&gt;
===== Geo =====&lt;br /&gt;
* a geo element is identified by the class name &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* geo represents the geographic coordinates of relevant locations in the news story.&lt;br /&gt;
* a geo element should be encoded in a [[geo]].&lt;br /&gt;
* in those cases where the latitude and longitude represent the dateline, a variant of [[geo]] should be used (see [http://microformats.org/wiki/geo-brainstorming#Geo_improvements Geo Improvements] for an example).&lt;br /&gt;
&lt;br /&gt;
===== License =====&lt;br /&gt;
* a license element is identified by the rel value of &amp;lt;code&amp;gt;item-license&amp;lt;/code&amp;gt;.&lt;br /&gt;
* a license element {{must}} be encoded as described in this [http://microformats.org/wiki/licensing-brainstorming#item_as_container license brainstorm proposal].&lt;br /&gt;
* a news story {{should}} include a license element.&lt;br /&gt;
&lt;br /&gt;
===== Principles =====&lt;br /&gt;
* a principles element is identified by &amp;lt;code&amp;gt;rel-principles&amp;lt;/code&amp;gt;.&lt;br /&gt;
* principles represents the statement of principles and ethics adhered to by the news organization and/or individual that produced the news story at the time of writing.&lt;br /&gt;
* a principles element {{must}} be encoded in [[principles-brainstorming#rel-principles_specification|rel-principles]].&lt;br /&gt;
* a news story {{should}} include principles.&lt;br /&gt;
* principles {{should}} be linked to using the icons http://labs.ap.org/principles-button-blue.png or http://labs.ap.org/principles-book-blue.png.&lt;br /&gt;
&lt;br /&gt;
=== XMDP Profile ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl class=&amp;quot;profile&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dt&amp;gt;class&amp;lt;/dt&amp;gt;&lt;br /&gt;
  &amp;lt;dd&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&amp;lt;a rel=&amp;quot;help&amp;quot; href=&amp;quot;http://www.w3.org/TR/html401/struct/global.html#adef-class&amp;quot;&amp;gt;&lt;br /&gt;
    HTML4 definition of the 'class' attribute.&amp;lt;/a&amp;gt;&lt;br /&gt;
    This meta data profile defines some 'class' attribute values (class names) &lt;br /&gt;
    and their meanings as suggested by a &lt;br /&gt;
    &amp;lt;a href=&amp;quot;http://www.w3.org/TR/WD-htmllink-970328#profile&amp;quot;&amp;gt;draft of&lt;br /&gt;
    &amp;quot;Hypertext Links in HTML&amp;quot;&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;dt&amp;gt;hnews&amp;lt;/dt&amp;gt;&lt;br /&gt;
      &amp;lt;dd&amp;gt;Used to describe semantic information associated with news stories.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;dt&amp;gt;source-org&amp;lt;/dt&amp;gt;&lt;br /&gt;
      &amp;lt;dd&amp;gt;The originating organization for the news story.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;dt&amp;gt;dateline&amp;lt;/dt&amp;gt;&lt;br /&gt;
      &amp;lt;dd&amp;gt;Represents the location where the news story was filed.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;dt&amp;gt;geo&amp;lt;/dt&amp;gt;&lt;br /&gt;
      &amp;lt;dd&amp;gt;Represents geographic coordinates of relevant locations in the story.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/dl&amp;gt;&lt;br /&gt;
  &amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;dt&amp;gt;rel&amp;lt;/dt&amp;gt;&lt;br /&gt;
  &amp;lt;dd&amp;gt;&lt;br /&gt;
    &amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;dt&amp;gt;item-license&amp;lt;/dt&amp;gt;&lt;br /&gt;
      &amp;lt;dd&amp;gt;Represents the license for the story.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;dt&amp;gt;principles&amp;lt;/dt&amp;gt;&lt;br /&gt;
      &amp;lt;dd&amp;gt;Represents the statement of principles and ethics used by the news organization that produced the news story.&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/dl&amp;gt;&lt;br /&gt;
   &amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
See [[hnews-examples]].&lt;br /&gt;
&lt;br /&gt;
=== Examples in the wild ===&lt;br /&gt;
&lt;br /&gt;
See [[hnews-examples-in-wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
* Readability parses and consumes hNews. See their [http://www.readability.com/developers/guidelines Article Publishing Guidelines] for details.&lt;br /&gt;
* [[Google]] also parses hAtom (e.g. it's supported by their Rich Snippets [[validator]]).&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0]&lt;br /&gt;
* [[hatom|hAtom]]&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* [[rel-tag]]&lt;br /&gt;
* [[geo]]&lt;br /&gt;
* [[licensing-brainstorming#item_as_container_license|item-license brainstorm]]&lt;br /&gt;
* [http://newscredit.org/development/newscredit-specification/rel-principles-specification/ rel-principles]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2119.txt RFC2119]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc4287.txt RFC4287] (Atom 1.0)&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* Other news efforts: see [[news-formats]].&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. &lt;br /&gt;
&lt;br /&gt;
=== Version 0.1 ===&lt;br /&gt;
&lt;br /&gt;
Version 0.1 was drafted August 2008.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* See [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
&lt;br /&gt;
== Related Pages ==&lt;br /&gt;
* hnews&lt;br /&gt;
* [[news-brainstorming]]: thoughts for improving hNews. &lt;br /&gt;
* [[hnews-faq|hNews FAQ]]: if you have any questions about hNews, check here, and if you don't find answers, add your questions!&lt;br /&gt;
* [[hnews-issues]]: please add any issues with the specification to the issues page.&lt;br /&gt;
* [[news-formats]]: existing news and news management schemas.&lt;br /&gt;
* [[news-examples]]: examples of news formats on the web.&lt;br /&gt;
** [[hnews-examples]]: examples of how to implement hNews.&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:hNews]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hatom&amp;diff=70692</id>
		<title>hatom</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hatom&amp;diff=70692"/>
		<updated>2024-06-20T23:32:30Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:hAtom 0.1}}&lt;br /&gt;
{{latest|h-entry}}&lt;br /&gt;
{{Template:DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
hAtom is a microformat for content that can be syndicated, primarily but not exclusively weblog postings. hAtom is based on a subset of the [http://www.atomenabled.org/ Atom] syndication format. hAtom will be one of several [[microformats]] open standards.&lt;br /&gt;
__TOC__&lt;br /&gt;
== Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;role&amp;quot;&amp;gt;Editor/Author&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://blogmatrix.blogmatrix.com/ David Janes]&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;org&amp;quot;&amp;gt;([http://www.blogmatrix.com BlogMatrix, Inc.])&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Contributors&lt;br /&gt;
:&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://members.optusnet.com.au/benjamincarlyle/benjamin/blog/ Benjamin Carlyle]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;url&amp;quot;&amp;gt;http://tantek.com/&amp;lt;/span&amp;gt; and before at [http://technorati.com Technorati, Inc.])&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[hatom#Copyright|copyright]] and [[hatom#Patents|patents]] statements apply.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
hAtom 0.1 is a microformats.org draft specification. Public discussion on hAtom takes place on [[hatom-feedback]], the #microformats [[irc]] channel on irc.freenode.net, and [http://microformats.org/discuss/mail/microformats-discuss/ microformats-discuss mailing list].&lt;br /&gt;
&lt;br /&gt;
=== Available languages ===&lt;br /&gt;
The English version of this specification is the only normative version. For translations of this document see the [[#translations]] section.&lt;br /&gt;
&lt;br /&gt;
=== Errata and Updates ===&lt;br /&gt;
Known errors and issues in this specification are corrected in [[hatom-issues-resolved|resolved]] and [[hatom-issues-closed|closed]] issues. Please check there before reporting [[hatom-issues|issues]].&lt;br /&gt;
&lt;br /&gt;
The hAtom 0.2 update is currently under development and incorporates known errata corrections as well as the [[value-class-pattern]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
hAtom is a [[microformat]] for identifying semantic information in weblog posts and practically any other place [http://www.atomenabled.org/ Atom] may be used, such as news articles. hAtom content is easily added to most blogs by simple modifications to the blog's template definitions.&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple blog post example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;article class=&amp;quot;hentry&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;entry-title&amp;quot;&amp;gt;Microformats are amazing&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Published by &amp;lt;span class=&amp;quot;author vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;W. Developer&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
     on &amp;lt;time class=&amp;quot;published&amp;quot; datetime=&amp;quot;2013-06-13 12:00:00&amp;quot;&amp;gt;13&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; June 2013&amp;lt;/time&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p class=&amp;quot;entry-summary&amp;quot;&amp;gt;In which I extoll the virtues of using microformats.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;div class=&amp;quot;entry-content&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Blah blah blah&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/article&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an hAtom entry.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt;''', '''&amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;''', '''&amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;''', '''&amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;''', '''&amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt;''' and the other hAtom property classnames listed below define properties of the entry.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== In General ===&lt;br /&gt;
The [http://atomenabled.org/developers/syndication/#person Atom Syndication Format] provides the conceptual basis for this microformat, with the following caveats:&lt;br /&gt;
&lt;br /&gt;
* Atom provides a lot more functionality than we need for a &amp;quot;blog post&amp;quot; microformat, so we've taken the minimal number of elements needed.&lt;br /&gt;
* the &amp;quot;logical&amp;quot; model of hAtom is that of Atom. If there is a conflict, Atom should be taken as correct.&lt;br /&gt;
* the &amp;quot;physical&amp;quot; model of hAtom -- the actual writing of elements -- is a lot more varied than Atom provides for, due to the variety of ways weblogs are actually produced in the wild. The hAtom microformat provides a number of rules for &amp;quot;bridging the gap&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
Schema elements are based on the Atom nomenclature and follow the microformat pattern of prefixing a unique identifier (in this case, '&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;') on the outermost container elements -- the Feed or Entry. The parts of this microformat are based on analysis of many weblog, bulletin board and media posts and can be read [[blog-post-brainstorming#Discovered_Elements]].&lt;br /&gt;
&lt;br /&gt;
The hAtom schema consists of the following:&lt;br /&gt;
&lt;br /&gt;
* hfeed ('''&amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt;'''). optional.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;feed category&amp;lt;/code&amp;gt;'''. optional. keywords or phrases, using '''[[rel-tag]]'''.&lt;br /&gt;
** [[hentry]] ('''&amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;'''). &lt;br /&gt;
*** '''&amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt;'''. required. text.&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt;'''. optional (see field description). text. [*]&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;'''. optional. text.&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt;'''. required using [[value-class-pattern#Date_and_time_parsing|value class pattern date and time]]. [*]&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;'''. optional using [[value-class-pattern#Date_and_time_parsing|value class pattern date and time]].&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;'''. required using '''[[hcard|hCard]]'''. [*]&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt;''' (permalink). optional, using '''[[rel-bookmark]]'''.&lt;br /&gt;
*** tags. optional. keywords or phrases, using '''[[rel-tag]]'''.&lt;br /&gt;
&lt;br /&gt;
[*] Some required elements have defaults if missing, see below.&lt;br /&gt;
&lt;br /&gt;
=== Field and Element Details ===&lt;br /&gt;
&lt;br /&gt;
===== Feed =====&lt;br /&gt;
* a Feed element is identified by the class name &amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt;&lt;br /&gt;
* a Feed element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.1 Atom feed]&lt;br /&gt;
* the Feed element is optional and, if missing, is assumed to be the page&lt;br /&gt;
* hAtom documents {{may}} have multiple Feed elements&lt;br /&gt;
&lt;br /&gt;
===== Feed Category =====&lt;br /&gt;
* a Feed Category element is identified by [[rel-tag]]&lt;br /&gt;
* a Feed {{may}} have a Feed Category&lt;br /&gt;
* a Feed Category element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 Atom category] inside a [http://www.atomenabled.org/developers/syndication/#optionalFeedElements feed]&lt;br /&gt;
* Feed Category elements {{must}} appear inside a Feed element but not inside an Entry element&lt;br /&gt;
* the [[rel-tag]] &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; encodes the atom &amp;lt;code&amp;gt;category:term&amp;lt;/code&amp;gt;; the link text defines the atom &amp;lt;code&amp;gt;category:label&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Entry =====&lt;br /&gt;
* an Entry element is identified by class name &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.2 Atom entry]&lt;br /&gt;
* any microformat content inside a &amp;lt;code&amp;gt;&amp;amp;lt;blockquote&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;lt;q&amp;gt;&amp;lt;/code&amp;gt; element within the Entry should not be considered part of the Entry.&lt;br /&gt;
: ''This allows quoting other microformated data without worry of corrupting the model''&lt;br /&gt;
&lt;br /&gt;
===== Entry Category =====&lt;br /&gt;
* an Entry Category element is identified by [[rel-tag]]&lt;br /&gt;
* an Entry {{may}} have an Entry Category&lt;br /&gt;
* an Entry Category element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 Atom category] inside an [http://www.atomenabled.org/developers/syndication/#optionalEntryElements entry]&lt;br /&gt;
* the [[rel-tag]] &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; encodes the atom &amp;lt;code&amp;gt;category:term&amp;lt;/code&amp;gt;; the link text defines the atom &amp;lt;code&amp;gt;category:label&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Entry Title =====&lt;br /&gt;
* an Entry Title element is identified by the class name &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry {{should}} have an Entry Title&lt;br /&gt;
* an Entry Title element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.14 Atom entry title]&lt;br /&gt;
* if the Entry Title is missing, use&lt;br /&gt;
** the first &amp;lt;code&amp;gt;&amp;amp;lt;h#&amp;gt;&amp;lt;/code&amp;gt; element in the Entry, or&lt;br /&gt;
** the &amp;lt;code&amp;gt;&amp;amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; of the page, if there is no enclosing Feed element, or&lt;br /&gt;
** assume it is the empty string&lt;br /&gt;
&lt;br /&gt;
===== Entry Content =====&lt;br /&gt;
* an Entry Content element is identified by class name &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry {{should}} have Entry Content&lt;br /&gt;
* an Entry Content element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atomContent Atom content]&lt;br /&gt;
* an Entry {{may}} have 0 or more Entry Content elements. The &amp;quot;logical Entry Content&amp;quot; of an Entry is the concatenation, in order of appearance, of all the Entry Contents within the Entry&lt;br /&gt;
: ''Many web logs split content into multiple sections with a &amp;quot;Read More&amp;quot; link and JavaScript tricks. This is also needed in cases where Entry Titles are coded in-line and are considered part of the content.''&lt;br /&gt;
* if the Entry Content is missing, assume it is the empty string&lt;br /&gt;
&lt;br /&gt;
===== Entry Summary =====&lt;br /&gt;
* an Entry Summary element is identified by class name &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Summary element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.13 Atom summary]&lt;br /&gt;
* an Entry {{may}} have 0 or more Entry Summary elements. The &amp;quot;logical Entry Summary&amp;quot; of an Entry is the concatenation, in order of appearance, of all the Entry Summarys within the Entry&lt;br /&gt;
&lt;br /&gt;
===== Entry Permalink =====&lt;br /&gt;
* an Entry Permalink element is identified by [[rel-bookmark]]&lt;br /&gt;
* an Entry {{should}} have an Entry Permalink&lt;br /&gt;
* an Entry Permalink element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.7 Atom link in an entry]&lt;br /&gt;
* if the Entry Permalink is missing, use the URI of the page; if the Entry has an &amp;quot;id&amp;quot; attribute, add that as a fragment to the page URI to distinguish individual entries&lt;br /&gt;
&lt;br /&gt;
===== Entry Updated =====&lt;br /&gt;
* an Entry Updated element is identified by class name &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Updated element represents the concept of [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.15 Atom updated]&lt;br /&gt;
* an Entry {{should}} have an Entry Updated element&lt;br /&gt;
* use the [[value-class-pattern#Date_and_time_parsing|value class pattern date and time]] to encode the updated datetime&lt;br /&gt;
* if there is no Entry Updated element,&lt;br /&gt;
** use the Entry Published element, if present&lt;br /&gt;
** otherwise the page is invalid hAtom&lt;br /&gt;
&lt;br /&gt;
===== Entry Published =====&lt;br /&gt;
* an Entry Published element is identified by the class name &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Published element represents the concept of [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.9 Atom published]&lt;br /&gt;
* use the [[value-class-pattern#Date_and_time_parsing|value class pattern date and time]] to encode the published datetime&lt;br /&gt;
&lt;br /&gt;
===== Entry Author =====&lt;br /&gt;
* an Entry Author element is represented by class name &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Author element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.1 Atom author]&lt;br /&gt;
* an Entry Author element {{must}} be encoded in an [[hcard|hCard]]&lt;br /&gt;
* an Entry Author element {{should}} be encoded in an &amp;lt;code&amp;gt;&amp;amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element&lt;br /&gt;
* an Entry {{should}} have at least one Entry Author element&lt;br /&gt;
* an Entry {{may}} have more than one Entry Author elements&lt;br /&gt;
* if the Entry Author is missing&lt;br /&gt;
** find the [[algorithm-nearest-in-parent|Nearest In Parent]] &amp;lt;code&amp;gt;&amp;amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element(s) with class name &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; and that is/are a valid [[hcard|hCard]]&lt;br /&gt;
** otherwise the entry is invalid hAtom&lt;br /&gt;
&lt;br /&gt;
=== XMDP Profile ===&lt;br /&gt;
See [[hatom-profile]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
See [[hatom-examples]].&lt;br /&gt;
&lt;br /&gt;
=== Examples in the wild ===&lt;br /&gt;
&lt;br /&gt;
See [[hatom-examples-in-wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
See [[hatom-implementations]].&lt;br /&gt;
&lt;br /&gt;
== Copyright ==&lt;br /&gt;
{{MicroFormatCopyrightStatement2005}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.&lt;br /&gt;
&lt;br /&gt;
== Patents ==&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Semantic HTML Design Principles ==&lt;br /&gt;
&amp;lt;div id=&amp;quot;Semantic_XHTML_Design_Principles&amp;quot;&amp;gt;{{semantic-html-design-principles}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc4287 RFC4287: The Atom Syndication Format]&lt;br /&gt;
* [[hcard-parsing]]&lt;br /&gt;
* [[rfc-2119|RFC 2119]]&lt;br /&gt;
* [[iso-8601|ISO8601]]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.atomenabled.org/ atomenabled.org]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* [http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-5-hatom/ Getting Semantic With Microformats, Part 5: hAtom] by [http://www.ablognotlimited.com/ Emily Lewis]&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. There is a separate document where we are keeping our brainstorms and other explorations relating to hAtom:&lt;br /&gt;
&lt;br /&gt;
* [[blog-post-brainstorming|blog-post Brainstorming]]&lt;br /&gt;
&lt;br /&gt;
=== Version 0.1 ===&lt;br /&gt;
&lt;br /&gt;
Version 0.1 was released 28 February 2006.&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
* See [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about hAtom, check the [[hatom-faq|hAtom FAQ]], and if you don't find answers, add your questions!&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
* Please add any issues with the specification to the separate [[hatom-issues|hAtom issues]] document.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{hatom-related-pages}}&lt;br /&gt;
* [[rel-enclosure]] - how to semantically reference enclosures (e.g. podcasts) in hAtom&lt;br /&gt;
* [[blog-post-brainstorming]]&lt;br /&gt;
* [[blog-post-formats]]&lt;br /&gt;
* [[blog-post-examples]]&lt;br /&gt;
* [[blog-post-feed-equivalence]]&lt;br /&gt;
* [[blog-description-format]] - how to describe a blog (as opposed to the individual entries, which is what we're doing here)&lt;br /&gt;
* [[xhtml-syndication]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:hAtom]]&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
Read the hAtom draft specification in additional &amp;lt;span id=&amp;quot;languages&amp;quot;&amp;gt;languages&amp;lt;/span&amp;gt;:&lt;br /&gt;
* [[hatom-fr|français]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=geo&amp;diff=70691</id>
		<title>geo</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=geo&amp;diff=70691"/>
		<updated>2024-06-20T23:04:43Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Geo}}&lt;br /&gt;
{{latest|h-geo}}&lt;br /&gt;
{{Template:DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
'''geo''' (pronounced &amp;quot;gee-oh&amp;quot;) is a simple format for marking up [http://en.wikipedia.org/wiki/WGS84 WGS84] geographic coordinates (latitude; longitude), suitable for embedding in HTML or XHTML, Atom, RSS, and arbitrary XML. '''geo''' is a 1:1 representation of the &amp;quot;geo&amp;quot; property in the vCard standard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]) in HTML, one of several open [[microformats|microformat]] standards.&lt;br /&gt;
&lt;br /&gt;
== Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
;Editor/Author&lt;br /&gt;
: [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc.])&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
Per the public domain release on [[User:Tantek|my user page]], this specification is released into the public domain.&lt;br /&gt;
&lt;br /&gt;
{{MicroFormatPublicDomainContributionStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Inspiration and Acknowledgments ===&lt;br /&gt;
Thanks to everyone who participated in the [[geo-bof-2005-06-30|Geo Microformat BOF at O'Reilly's Where 2.0 conference]], and in particular to [http://radar.oreilly.com/nat/ Nat Torkington] and Vee McMillen of [http://oreilly.com O'Reilly] for [http://conferences.oreillynet.com/cs/where2005/view/e_sess/7476 arranging and hosting the BOF].  Thanks to Chris Hibbbert for providing the [http://www.geocaching.com/seek/cache_details.aspx?guid=dc4754bf-64d5-4f28-8715-45ad2505c86f real world geo-caching example].&lt;br /&gt;
&lt;br /&gt;
== Introduction and Background ==&lt;br /&gt;
The vCard standard ([http://www.ietf.org/rfc/rfc2426.txt RFC2426]), has been broadly and interoperably implemented (e.g. Apple's Address Book application). The [[hcard|hCard]] microformat has similarly received significant adoption, from numerous sites publishing the format, to hCard to vCard proxies, to clientside javascript parsers.&lt;br /&gt;
&lt;br /&gt;
At the [http://conferences.oreillynet.com/where/ Where 2.0 conference] in June 2005, there was widespread recognition that the community needed a way to simply and easily publish visible, extractable, geographic location information on the Web, given how often bloggers, and numerous other sites publish such information.  The [[geo-bof-2005-06-30|geo microformat BOF]] discussed this very topic, and concluded with a consensus decision to just try using ''geo'' from vCard/hCard.&lt;br /&gt;
&lt;br /&gt;
This specification introduces the '''geo''' microformat, which is a 1:1 representation of the aforementioned ''geo'' property from the vCard standard, by simply reusing the ''geo'' property and sub-properties as-is from the [[hcard|hCard]] microformat.&lt;br /&gt;
&lt;br /&gt;
Publishers can both embed '''geo''' addresses directly in their web pages and feeds, as well as markup existing latitude/longitude coordinates in the context of the rest of the information in their web pages and feeds.&lt;br /&gt;
&lt;br /&gt;
If the publisher knows and is publishing the ''name'' of the location in addition to its geo lat/long, then the publisher {{must}} use [[hcard|hCard]] instead of just '''geo''' to publish the name and geo lat/long of the location.&lt;br /&gt;
&lt;br /&gt;
If the publisher knows and is publishing the address of the location, OR if the address of the location was what was actually entered by a human, and the publisher simply turned that into lat/long using some sort of a service, then the publisher {{should}} use [[adr]] to publish the actual human entered address information since that communicates far more semantic information than a simple geo lat/long coordinate.&lt;br /&gt;
&lt;br /&gt;
== Semantic XHTML Design Principles ==&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== Singular Properties ===&lt;br /&gt;
&lt;br /&gt;
Note that all the properties in '''geo''' are singular properties, and thus the first descendant element with that class should take effect, any others being ignored.&lt;br /&gt;
&lt;br /&gt;
=== Human vs. Machine readable ===&lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element is used for a property, then the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of the &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element is the value of the property, instead of the contents of the element, which instead provide a human presentable version of the value.&lt;br /&gt;
&lt;br /&gt;
=== Value excerpting ===&lt;br /&gt;
&lt;br /&gt;
Sometimes only part of an element which is the equivalent for a property should be used for the value of the property. For this purpose, the special class name &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; is used to excerpt out the subset of the element that is  the value of the property.  See [[hcard|hCard]] for details on this.&lt;br /&gt;
&lt;br /&gt;
=== Root Class Name ===&lt;br /&gt;
&lt;br /&gt;
The root class name for an geo location is &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Property List ===&lt;br /&gt;
&lt;br /&gt;
This is the list of properties in geo, taken from [[hcard|hCard]]:&lt;br /&gt;
&lt;br /&gt;
* latitude&lt;br /&gt;
* longitude&lt;br /&gt;
&lt;br /&gt;
=== XMDP Profile ===&lt;br /&gt;
&lt;br /&gt;
See [[hcard-profile]] for the [http://gmpg.org/xmdp XMDP] profile of hCard which contains the above complete list of properties, with references to their RFC 2426 definitions.&lt;br /&gt;
&lt;br /&gt;
=== Parsing Details ===&lt;br /&gt;
&lt;br /&gt;
See [[hcard-parsing|hCard parsing]], with the only difference being that &amp;quot;geo&amp;quot; is the root class name, rather than &amp;quot;vcard&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
This section is informative.&lt;br /&gt;
&lt;br /&gt;
=== Example from RFC2426 ===&lt;br /&gt;
&lt;br /&gt;
Section 3.4.2 of RFC2426 has a simple geo example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
GEO:37.386013;-122.082932&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this vCard fragment as a geo, as [http://microformats.org/wiki/hcard-examples#3.4.2_GEO_Type_Definition first documented on the hCard examples page]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;geo&amp;quot;&amp;gt;GEO: &lt;br /&gt;
 &amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;37.386013&amp;lt;/span&amp;gt;, &lt;br /&gt;
 &amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;-122.082932&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this geo could be displayed as: &amp;lt;!-- this section includes a live Geo microforamt - please edit with care --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;geo&amp;quot;&amp;gt;GEO: &amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;37.386013&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;-122.082932&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is a '''live''' geo microformat, which will be found on this page by parsers.&lt;br /&gt;
&lt;br /&gt;
=== Real world geo example ===&lt;br /&gt;
&lt;br /&gt;
Here is a sample of published lat/long info (from [http://www.geocaching.com/seek/cache_details.aspx?guid=dc4754bf-64d5-4f28-8715-45ad2505c86f geocaching: Noble Steed]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
N 37° 24.491 W 122° 08.313&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With geo markup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;geo&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;latitude&amp;quot; title=&amp;quot;37.408183&amp;quot;&amp;gt;N 37° 24.491&amp;lt;/abbr&amp;gt; &lt;br /&gt;
 &amp;lt;abbr class=&amp;quot;longitude&amp;quot; title=&amp;quot;-122.13855&amp;quot;&amp;gt;W 122° 08.313&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This geo might be displayed as: &amp;lt;!-- this section includes a live Geo microformat - please edit with care --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;geo&amp;quot;&amp;gt;&amp;lt;abbr class=&amp;quot;latitude&amp;quot; title=&amp;quot;37.408183&amp;quot;&amp;gt;N 37° 24.491&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;longitude&amp;quot; title=&amp;quot;-122.13855&amp;quot;&amp;gt;W 122° 08.313&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, this is a '''live''' example.&lt;br /&gt;
&lt;br /&gt;
Note that since the real world example used a more human readable presentation of the geo coordinates, we use the [[abbr-design-pattern]] to keep that more human readable presentation, and in addition provide the respective absolute numerical values for the geo.&lt;br /&gt;
&lt;br /&gt;
=== with value-title ===&lt;br /&gt;
There may be instances where you only have text like &amp;quot;the location&amp;quot; in your page, and yet you want to mark it up with geo coordinates. While it is better to markup visible data (for longevity, fidelity, reviewability), if for design reasons you're unable to provide visible display of geo details, you may use the [[value-class-pattern#Parsing_value_from_a_title_attribute|value class pattern value-title]] to markup them up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
We met at a &lt;br /&gt;
&amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;37.386013&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;-122.082932&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
 certain location&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This geo may be displayed as:&lt;br /&gt;
&lt;br /&gt;
We met at a &amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;latitude&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;37.386013&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;longitude&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;-122.082932&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; certain location&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
&lt;br /&gt;
This section is '''informative'''. The number of Geo examples in the wild has expanded far beyond the capacity of being kept inline in this specification. They have been moved to a separate page, [[geo-examples-in-wild|Geo examples in the wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse geos outside the context of hCards. If you have an geo implementation, feel free to add it to the '''top''' of this list. Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&lt;br /&gt;
*WordPress.com's [http://en.support.wordpress.com/geotagging/ geotagging feature] lets you geotag user profiles and posts. Geo Search is also coming soon.&lt;br /&gt;
*Clem Rutter's &amp;quot;[http://www.rutter.uklinux.net/ostowiki.html OSGBGridRefs to WGS84]&amp;quot; converter - Takes UK or Irish OS grid references and converts them to WGS84 coordinates, with two types of Geo mark-up (&amp;lt;code&amp;gt;SPAN&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ABBR&amp;lt;/code&amp;gt;) available to copy &amp;amp; paste. &lt;br /&gt;
* GIS-Wiki's &amp;quot;[http://www.giswiki.org/hjl_get_CoorE.htm hjl_getCoor]&amp;quot; now outputs Geo markup, from a Google Maps API.&lt;br /&gt;
* [http://www.addressfix.com/ AddressFix] takes any valid address in the listed countries (as at 2003-07) or map point (using GoogleMaps API) and outputs geo markup.&lt;br /&gt;
**Countries: Andorra, Australia, Austria, Belgium, Canada, France, Germany, Gibraltar, Italy, Japan (but only in Japanese), Liechtenstein, Luxembourg, Monaco, Netherlands, New Zealand, San Marino, Spain, Sweden, Switzerland, United States of America and the Vatican City. &lt;br /&gt;
**For countries other than the UK, the British Isles and China it provides geocoding for country names and city names (e.g. &amp;quot;Nairobi, Kenya&amp;quot;).&lt;br /&gt;
**For UK, the British Isles and China, Google returns an error.&lt;br /&gt;
* [http://code.highearthorbit.com/greaseroute/index.php GreaseRoute] is a GreaseMonkey user script (also available as a simple Firefox Extension) which will add icons for displaying the MapQuest map of a [[geo]]. Written by [http://highearthorbit.com Andrew Turner] &lt;br /&gt;
* [http://www.podster.de/page/geotest podster.de] finds geo markups in podcast RSS Feeds and maps soundseeing episodes on a map (German only)&lt;br /&gt;
* [http://bluesmoon.blogspot.com/ Philip Tellis] has written a [http://bluesmoon.blogspot.com/2006/01/of-microformats-and-geocoding.html javascript to add maps to geo markup on pages]&lt;br /&gt;
* [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding geos and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].&lt;br /&gt;
* [http://bluesmoon.blogspot.com/ Philip Tellis] has written some javascript to [http://bluesmoon.blogspot.com/2006/01/of-microformats-and-geocoding.html convert the geo microformat to a google map] using [[geo]].&lt;br /&gt;
* Brian Suda has written some [http://suda.co.uk/projects/microformats/geo/ geo extracting] code to convert geo microformats to KML for use with Google Maps and Google Earth. There is also a bookmarklet to extract the data and pass it to google maps automatically. He is working on a GeoRSS version for Yahoo! Maps as well.&lt;br /&gt;
**GPX export is done, but needs some tweaking and testing. Just change &amp;amp;type=(kml|georss|gpx). Not quite ready for primetime yet. Feel free to test and send feedback.&lt;br /&gt;
* Fil explains [http://www.jquery.info/spip.php?article7 how to use the geo microformat with the javascript library jQuery] [http://jquery.com].&lt;br /&gt;
* [http://www.locify.com Locify] uses [[geo]] format for presenting waypoints stored from the mobile client.&lt;br /&gt;
&lt;br /&gt;
=== old implementations ===&lt;br /&gt;
Implementations that have disappeared or appear to be offline:&lt;br /&gt;
&lt;br /&gt;
Offline as of 2013-088:&lt;br /&gt;
* [http://www.sydneydirectory.org/ Sydney Directory Wiki] supports geographical coordinates for locations&lt;br /&gt;
* [http://blog.codeeg.com/ Calvin Yu] has written a  [http://blog.codeeg.com/2006/01/28/using-microformats-to-plot-my-favorite-places/ web service that will allow you plot and describe places on a Yahoo Map easily] using [[hreview|hReview]] and [[geo]].&lt;br /&gt;
* [http://mmm.iamnear.net Magical Microformat Maker - a Geo Microformat Generator with a big map]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [[hcard|hCard]]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc2426.txt vCard RFC2426] ([http://www.w3.org/2002/12/cal/rfc2426 HTML reformatted version of RFC2426])&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [http://www.census.gov/geo/www/tiger/tigermap.html TIGER Map Service]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Geotagging Wikipedia article on GeoTagging]&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added.&lt;br /&gt;
&lt;br /&gt;
* Proposals for changes, additions and other thoughts about [[geo]] may be found at [[geo-brainstorming]].&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
* [[luna]] (proposal for geo-style microformat for co-ordinates on The Moon)&lt;br /&gt;
* [[mars]] (proposal for geo-style microformat for co-ordinates on the planet Mars)&lt;br /&gt;
* [[geo-extension-strawman]] - extends [[geo]] to include the above, and for representing coordinates on other planets, moons etc.&lt;br /&gt;
* [[thoughts-on-extending-the-geo-microformat|thoughts on addind time and reference system]] to the geo microformat, that could also be used for places on other celestial bodies&lt;br /&gt;
&lt;br /&gt;
== Similar Work ==&lt;br /&gt;
* [[adr]]&lt;br /&gt;
* [[hcalendar|hCalendar]]&lt;br /&gt;
* [[XOXO]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Geo_%28microformat%29 Geo on Wikipedia]&lt;br /&gt;
* [http://wikitravel.org/en/Wikitravel:Geocoding#Sources_for_lat.2Flongs Sources for latitude/ longitude coordinates]&lt;br /&gt;
&lt;br /&gt;
== Related Pages ==&lt;br /&gt;
{{geo-related-pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft_Specifications]]&lt;br /&gt;
[[Category:Geo]]&lt;br /&gt;
[[Category:hCard]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=faq&amp;diff=70690</id>
		<title>faq</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=faq&amp;diff=70690"/>
		<updated>2024-06-20T23:00:40Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Microformats FAQ }}&lt;br /&gt;
&lt;br /&gt;
This page document frequently asked questions about microformats.  For frequently asked questions from the [[press]], see [[press-faq]].&lt;br /&gt;
&lt;br /&gt;
If you're looking for a microformat for marking up FAQs, see [[question-answer]].&lt;br /&gt;
&lt;br /&gt;
== How To ==&lt;br /&gt;
=== What microformats should I use to markup my blog ===&lt;br /&gt;
''What microformats should I use to markup my blog?''&lt;br /&gt;
&lt;br /&gt;
A: Use a classic [[microformat]] on the body of each page.  For your index page, use an [[h-card]], since it's about you, and an [[h-feed]] for any recent updates you post there.  For your individual permalink pages, use [[h-entry]].&lt;br /&gt;
&lt;br /&gt;
For all of the data on your pages, use [[microformats2]].&lt;br /&gt;
&lt;br /&gt;
From: http://indiewebcamp.com/faq#How_should_I_markup_my_blog&lt;br /&gt;
&lt;br /&gt;
=== When should I use microformats2 or microformats1 ===&lt;br /&gt;
&amp;lt;span id=&amp;quot;When_should_I_use_microformats2_over_microformats1&amp;quot;&amp;gt;''On sites that don't currently have microformats, should microformats2 be utilized in or classic microformats? E.g. for a rather large site.''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: [[microformats2]] use less markup (are even simpler) than classic (v1) microformats, so in general microformats2 is preferred for adding to sites.&lt;br /&gt;
&lt;br /&gt;
You may also want to add one v1 microformat for each page that describes the primary subject of the page.&lt;br /&gt;
&lt;br /&gt;
You can easily use both:&lt;br /&gt;
* if a page is about a '''person''' or '''company''', add an '''[[hCard]]''' (and '''[[h-card]]''') to markup the info about the person/company. &lt;br /&gt;
* Or if the page is for an '''event''', add an '''[[hCalendar]]''' &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; (and '''[[h-event]]''')  about the event info.&lt;br /&gt;
* Similarly with a page that is a '''[[hReview|review]], [[hProduct|product]], [[hAtom|blog post]], or [[hRecipe|recipe]]'''. &lt;br /&gt;
See the [[Main_Page#Specifications|list of specs and drafts]] for more recommended top level microformats.&lt;br /&gt;
&lt;br /&gt;
For all other references to things on the page, links to or mentions of [[h-card|people]]/[[h-event|events]]/[[h-cite|citations]]/products, etc. use [[microformats2]].&lt;br /&gt;
&lt;br /&gt;
=== What microformats should I use for backward compatibility ===&lt;br /&gt;
For backwards compatibility, e.g. with some [[search-engines]], it's sufficient to include one v1 microformat for each page that best describes what that page is about. See above '''When should I use microformats2 or microformats1''' for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Common Details ==&lt;br /&gt;
=== Can you mix properties and the root class name ===&lt;br /&gt;
''&amp;lt;span id=&amp;quot;nesting-properties&amp;quot;&amp;gt;Can you put properties on the same element as the root class for a microformat? E.g. span class=&amp;quot;h-card p-org&amp;quot;?&amp;lt;/span&amp;gt;''&lt;br /&gt;
* No, property elements must be inside the root class name element.&lt;br /&gt;
&lt;br /&gt;
Mixing will result in more confusion for parsers which may be parsing nested microformats. In this case in the question, you need two elements:&lt;br /&gt;
* WRONG: &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;quot;h-card p-org&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* RIGHT: &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;&amp;amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only time you can put a root class name (like &amp;quot;h-card&amp;quot;) and a property class name on the same element, is when the root class name is providing an entire object as the embedded value of that property which then belongs to some other object higher up the tree.&lt;br /&gt;
&lt;br /&gt;
E.g. using an h-card for the location of an h-event&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name&amp;quot;&amp;gt;HTML5 Developer Conference&amp;lt;/span&amp;gt;, &lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2013-04-01&amp;lt;/time&amp;gt;...&amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2013-04-03&amp;lt;/time&amp;gt;, at&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-name p-org&amp;quot;&amp;gt;The Palace Hotel&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;San Francisco&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note the &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; which specifies that:&lt;br /&gt;
* the &amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; is a property of the surrounding &amp;lt;code&amp;gt;[[h-event]]&amp;lt;/code&amp;gt;&lt;br /&gt;
* the &amp;lt;em&amp;gt;value&amp;lt;/em&amp;gt; of that h-event’s &amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; is an entire embedded &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another example, inside an [[h-entry]], specifying the author as an h-card: &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;quot;p-author h-card&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Derived from: [[hcard-faq#Can_you_mix_properties_and_the_root_class_name]]&lt;br /&gt;
&lt;br /&gt;
== Wiki specific questions ==&lt;br /&gt;
===Q: ''How do I create a username? Why won't it let me use my preferred username?''===&lt;br /&gt;
&lt;br /&gt;
A: First, read this: http://en.wikipedia.org/wiki/Wikipedia:Username .  Second, real names are preferred to pseudonyms/handles etc.  Real names encourage better transparency and accountability.  Third, the most common problem creating a user name is forgetting to capitalize the first letter of the user name.  Try using a WikiCase version of your full name as username, e.g. RyanKing.&lt;br /&gt;
&lt;br /&gt;
===Q: ''How do I pass a reCAPTCHA V1'' ===&lt;br /&gt;
&lt;br /&gt;
A: Do you feel that there's a part of you that's missing?&lt;br /&gt;
&lt;br /&gt;
== Email list ==&lt;br /&gt;
=== Why do I get You are not allowed to post to this mailing list ===&lt;br /&gt;
''' ''Q: I've tried sending email to the mailing list. Why do I get a bounce message stating: &amp;quot;You are not allowed to post to this mailing list. ...&amp;quot; ? '' '''&lt;br /&gt;
&lt;br /&gt;
A: You must first subscribe to the microformats mailing list that you are trying to post to.&lt;br /&gt;
&lt;br /&gt;
===Q: ''I've joined the discussion mailing list but am not seeing my replies anywhere. Why?''===&lt;br /&gt;
&lt;br /&gt;
A: There is no moderation on microformats-discuss, but it only accepts posts from subscribers. You MUST post to microformats-discuss using the email address you used to subscribe.&lt;br /&gt;
&lt;br /&gt;
===Q: ''What does &amp;quot;The message's content type was not explicitly allowed&amp;quot; mean?'' ===&lt;br /&gt;
&lt;br /&gt;
A: Please go read [http://microformats.org/mailinglists-policies/ mailinglists-policies]. In particular note:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''No HTML or RTF e-mail''' period, end of story, full stop. Your mail client should let you configure it so you can send plain text messages. Make use of this ability or else there are no guarantees that anyone will be able to read your email.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The mailing lists are set up to automatically reject email that is sent as text/html.  Thus please configure your email client to send plain text (text/plain) email.&lt;br /&gt;
&lt;br /&gt;
== Basic Microformat Questions ==&lt;br /&gt;
===Q: ''Who uses microformats?'' ===&lt;br /&gt;
&lt;br /&gt;
A: See a list of [[examples-in-wild|sites using microformats]] and [[implementations|numerous tools]] that support microformats.&lt;br /&gt;
&lt;br /&gt;
===Q: ''When should I use a microformat? What are they for?''===&lt;br /&gt;
&lt;br /&gt;
A: You are writing some HTML that contains useful human-readable information (such as a piece of contact information). You say to yourself: I would like to mark this up with some classes now for styling. You look up the relevant microformat, and you&lt;br /&gt;
pull in the standard names. You don't have to make your own up, and now your page is machine-readable too. Bonus!&lt;br /&gt;
&lt;br /&gt;
Microformats are designed to make the data you already publish for humans available to machines. It allows applications as simple as cut-and-paste or as complex as a search engine to use your data effectively.&lt;br /&gt;
&lt;br /&gt;
===Q: ''Should I use microformats or microdata?'''===&lt;br /&gt;
&lt;br /&gt;
A: '''microformats''' require less markup, are easier to learn for common cases like [[hcard-authoring|people]]/[[hcalendar-authoring|events]]/[[get-started|etc.]], and are supported by more [[tools]] including [[search-engines]].&lt;br /&gt;
&lt;br /&gt;
If you're looking for minimal markup addition, just use microformats.&lt;br /&gt;
&lt;br /&gt;
If you want to use both, you may do so because they don't interfere.&lt;br /&gt;
&lt;br /&gt;
===Q: ''Are microformats dependent upon (X)HTML?''===&lt;br /&gt;
&lt;br /&gt;
A: No. Microformats work with the class attribute in HTML5, SVG etc., and can also be embedded in any XML (like Atom or RSS), as embedded XHTML.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Q: ''Microformats sound great. How can I help?''===&lt;br /&gt;
&lt;br /&gt;
A: Take a look at [[get-started]] for how to implement microformats yourself, and the [[to-do]] list for things to help out with. See http://microformats.org/discuss to see some ways to join the conversations about microformats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Q: ''I'd like to make a donation to the microformat cause. How can I do this?''===&lt;br /&gt;
&lt;br /&gt;
A: Thank you for your willingness to support microformats. microformats.org is an all volunteer unpaid organization, and sponsor contributions really help the community. There are several ways to support microformats with donations:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Donate to a microformats [[open source]] effort, e.g.&lt;br /&gt;
** [https://addons.mozilla.org/en-US/firefox/addon/4106/developers DONATE to Operator] - an essential [[Firefox]] extension&lt;br /&gt;
* Sponsor a microformats [[weekly meetup]]. &lt;br /&gt;
** Watch the [[events]] page for a weekly meetup near you, participate and sponsor dinner and or drinks!&lt;br /&gt;
* Sponsor a microformatsDevCamp like the [[events/2009-07-25-dev-camp|recent devCamp in SF]].&lt;br /&gt;
** Watch the [[events]] page for upcoming devCamps, vEvents, and other similar opportunities to sponsor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Q: ''Which microformats have been implemented?'' ===&lt;br /&gt;
&lt;br /&gt;
A: See the [[implementations]] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Q: ''Which microformats should I implement?''===&lt;br /&gt;
&lt;br /&gt;
A: Chances are you that your website already has data very similar to several microformats. For example, you probably have people and/or their contact information somewhere. That information could be marked up with [[hcard|hCard]], see the [[hcard-authoring|hCard authoring]] page for step by step instructions. If you are publishing press releases, try using [[hatom|hAtom]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Q: ''Do you have any link badges I can add to my website/blog?''===&lt;br /&gt;
&lt;br /&gt;
A: There are some [[buttons]] but we can certainly use more!  Please contribute what you come up with!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Q. ''Are there any tools that support microformats?''===&lt;br /&gt;
&lt;br /&gt;
A. Yes...tons... [[implementations]].&lt;br /&gt;
&lt;br /&gt;
===Q. ''What is the 'h' for, in front of Calendar and Card?'' ===&lt;br /&gt;
''What's the meaning of the 'h' before the [[hCalendar]] and [[hCard]] microformats?''&lt;br /&gt;
&lt;br /&gt;
A. hCard and hCalendar are the &amp;lt;strong&amp;gt;H&amp;lt;/strong&amp;gt;TML versions of vCard and iCalendar, hence the replacement of the leading lowercase 'v' or 'i' with 'h'. Origins: &amp;lt;cite&amp;gt;[http://tantek.com/log/2004/09.html#d30t1725 Tantek's Thoughts: &amp;quot;Semantic XHTML&amp;quot; slides posted]&amp;lt;/cite&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
See the [[hcard-faq|hCard FAQ]] and the [[hcalendar-faq|hCalendar faq]] for more specific questions on those microformats.&lt;br /&gt;
&lt;br /&gt;
===Q. ''Is there a way to indicate that a given web page contains markup that conforms to one or more microformats?'' ===&lt;br /&gt;
&lt;br /&gt;
A. The HTML HEAD element's '&amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt;' attribute alerts applications to the potential presence of microformats. The [http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html#h-7.4.4.3 W3C HTML Specification] describes more about the profile attribute, and the [http://gmpg.org/xmdp/description XMDP description] documents how it is used.&lt;br /&gt;
&lt;br /&gt;
===Q: ''What do these specific jargon terms mean?''===&lt;br /&gt;
&lt;br /&gt;
A: See our [[glossary]].&lt;br /&gt;
&lt;br /&gt;
===Q. ''What about using new URI schemes instead of class names, e.g. for geo information?''===&lt;br /&gt;
&lt;br /&gt;
A. In general, it is more work, and less content-publisher friendly, to ask publishers to use URI schemes instead of class names.&lt;br /&gt;
&lt;br /&gt;
Authors aren't publishing links to geo information.&lt;br /&gt;
&lt;br /&gt;
They're publishing *visible text* of [[geo]] information.&lt;br /&gt;
&lt;br /&gt;
So the easiest thing to do, for the author, is to leave it as visible text.&lt;br /&gt;
&lt;br /&gt;
Thus, it makes the most sense to do the simple thing of just wrapping that&lt;br /&gt;
visible text with a little bit of markup, rather than asking the author to&lt;br /&gt;
move (or copy) it into an attribute, which may or may not require a&lt;br /&gt;
reformatting of the data as well.&lt;br /&gt;
&lt;br /&gt;
It would make sense from a usability persepective to hyperlink geo information to a maps page or something, so that clicking it actually does something.  If you forced them to use a hypothetical &amp;quot;geo:&amp;quot; protocol instead, then that would interfere, since you can only hyperlink something to one destination.&lt;br /&gt;
&lt;br /&gt;
===Q: ''Who controls microformats?''===&lt;br /&gt;
&lt;br /&gt;
A: An open community. Microformats are open standards originally licensed under Creative Commons Attribution, and placed into the [[Microformats_Wiki:Copyrights|public domain since 2007-12-29]]. Much of the work here was begun on [http://developers.technorati.com/wiki Technorati's Developer Wiki], and Technorati contributed the work done there to the microformats community when microformats.org was established. The microformats.org domain is registered to Rohit Khare (see [http://whois.uberdose.com/microformats.org Whois microformats.org]), CommerceNet is graciously hosting the servers, but claims no control over microformat standards. Anyone may follow the established [[process]] and contribute towards the development of microformat standards.&lt;br /&gt;
&lt;br /&gt;
Any required [[governance]] (and very little ''has been'' required) of the microformats [[IRC]] channel, wiki, and [[mailing lists]]  is discussed by a group of volunteer [[administrators]].&lt;br /&gt;
&lt;br /&gt;
===Q: ''Who is the registrar for microformats?''===&lt;br /&gt;
&lt;br /&gt;
A: There is no central registry. Microformats are registered in a distributed manner using profiles. For more information on profiles see http://microformats.org/wiki/profile-uris and http://gmpg.org/xmdp/&lt;br /&gt;
&lt;br /&gt;
Conflicts and interoperability are managed through social processes rather than a formal registry. Current microformat profiles can be found at http://gmpg.org,  http://w3.org, and http://microformats.org.&lt;br /&gt;
&lt;br /&gt;
===Q: ''So multiple microformats with the same name can be valid?''===&lt;br /&gt;
&lt;br /&gt;
A: Yes. The community at microformats.org can hopefully play a role in determining which is preferred by bringing interested folks together in one place and helping them resolve that question.  As long as each microformat maintains a valid profile, each can be used effectively.&lt;br /&gt;
&lt;br /&gt;
===Q: ''How do I validate my microformated content?''===&lt;br /&gt;
&lt;br /&gt;
A: See [[validators]] for a list of microformats validators.&lt;br /&gt;
&lt;br /&gt;
===Q: ''Why do microformats use English terms for property names?''===&lt;br /&gt;
A: Similar to how HTML uses English words like &amp;quot;class&amp;quot;, &amp;quot;span&amp;quot; or &amp;quot;head&amp;quot;, microformats re-uses English words for property names. As microformats property names are based on existing standards (see [[process]], and [[naming-principles]]), this is another problem that is far outside the scope of microformats. As Ryan King put it, this is a pre-existing (unsolved) &amp;quot;problem&amp;quot; with English-based HTML, the English-based CSS, the English-based HTTP and so on. Note that this is NOT about the internationalization of the content and data itself - which is of course an excellent goal, advocated and promoted by microformats and the standards they are based on (e.g. W3C, IETF). This is purely about the names of the properties (and enumerated values) in the formats. See also [[internationalization]] and the [[en-us-faq#why_not_use_other_spellings_and_languages_for_properties|en-US FAQ: why not use other spellings and languages for properties]] regarding the question of alternate (non-English) names in other (natural) languages, and mappings.&lt;br /&gt;
&lt;br /&gt;
===Q: ''How come microformats stay as drafts even though they seem usable?'' ===&lt;br /&gt;
&lt;br /&gt;
A: This was discussed at the [http://2007.sxsw.com/interactive/programming/panels/?action=show&amp;amp;id=IAP060234 The Growth and Evolution of Microformats] panel at [http://en.wikipedia.org/wiki/South_by_Southwest SXSW] 2007. The basic answer is it was important to at least have a basic software implementation -- even an experimental one -- before moving a format from Draft to Specification. It can sometimes be hard to recognize subtle inconsistencies within a format by eye; however, in the process of implementing a format-reader in code, inconsistencies (if any) can become much more noticeable (due to [[dry | DRY / Don't Repeat Yourself]], among other programming best practices). Then, once such tools have been created (in effect, confirming both the programmability of the format, and interoperability across tools), it can be considered for transition to a Specification.  Using interoperable implementations as a measure of format quality is a long-standing practice of IETF and W3C.&lt;br /&gt;
&lt;br /&gt;
== Creating and Suggesting New Microformats ==&lt;br /&gt;
&lt;br /&gt;
===Q. ''I would like to author a new microformats open standards specification for my site/business.  How do I get started?''===&lt;br /&gt;
&lt;br /&gt;
A. The first thing to do before attempting a new microformat open standard is to make as much use of [[POSH]] and existing [[microformats]] open standards as possible in whatever site you are looking to mark up with your new microformat, as a way of learning what is left to be done. That is, at a minimum first:&lt;br /&gt;
* Mark up all people and organizations as [[hcard|hCards]] and add those pages to [[hcard-examples-in-wild]]&lt;br /&gt;
* Mark up all events and time based things as [[hcalendar|hCalendar]] events and add those pages to [[hcalendar-examples-in-wild]]&lt;br /&gt;
* Mark up all reviews as [[hreview|hReviews]] and add those pages to [[hreview-examples-in-wild]]&lt;br /&gt;
* etc.&lt;br /&gt;
Then join the microformats [http://microformats.org/discuss IRC channel and discuss list], and ask folks what they think of your use of the microformats and if it can be improved.&lt;br /&gt;
&lt;br /&gt;
From that experience you will then be able to figure out what is left to be specified.  Otherwise it is too hard to approach the &amp;quot;whole problem&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once you have completed that, take a look at the microformats [[process]] for how to walk through the steps of creating a new microformat, and note the specific problem you are trying to solve to the microformats-discuss list.  This will help you find more people to help you solve the problems you are trying to solve.&lt;br /&gt;
&lt;br /&gt;
===''Q How do I know if an idea for a Microformat has already been suggested in the past?''===&lt;br /&gt;
&lt;br /&gt;
A. Check the list of proposed and rejected microformats. &lt;br /&gt;
* [[rejected-formats]]&lt;br /&gt;
&lt;br /&gt;
===Q. ''What if I can't find real-world examples of a standard I'd like to propose?''===&lt;br /&gt;
&lt;br /&gt;
A. If we can't find real-world examples of the '''types of data''' a proposal would address, it's probably not suitable for a microformat. If we only can't find real-world examples of the '''specific markup''' a proposal would use for that data, however, that's not really a problem. It's actually the lack of such standard markup in real-world publishing around a specific problem that suggests the need for increased consensus.&lt;br /&gt;
&lt;br /&gt;
== Specific Microformat Questions ==&lt;br /&gt;
If you have a question regarding a specific microformat, you may want to check the FAQ specific to that microformat.&lt;br /&gt;
* [[hatom-faq]]&lt;br /&gt;
* [[hcalendar-faq]]&lt;br /&gt;
* [[hcard-faq]]&lt;br /&gt;
* [[hreview-faq]]&lt;br /&gt;
* [[rel-faq]]&lt;br /&gt;
* [[rel-tag-faq]]&lt;br /&gt;
* [http://gmpg.org/xfn/faq xfn-faq]&lt;br /&gt;
* [[xfolk-faq]]&lt;br /&gt;
* [[xmdp-faq]]&lt;br /&gt;
* [[xoxo-faq]]&lt;br /&gt;
&lt;br /&gt;
== Class interactions ==&lt;br /&gt;
===Q. ''Are there issues with page styling when specific class values are used?''===&lt;br /&gt;
&lt;br /&gt;
A. There might be. However, any such issues can be easily (trivially) worked around by using contextual selectors.&lt;br /&gt;
&lt;br /&gt;
===Q. ''How does the use of class values for semantics interact with the use of class values for attaching CSS styles?''===&lt;br /&gt;
&lt;br /&gt;
A. The class attribute takes a space separated set of class names [http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2 HTML4 reference]. Thus both author and microformat defined class names may be used in the same class attribute. Experience has shown that the best practice is for authors to use their own class names for styling, and only use microformats class names for expressing microformats semantics. If the author is already using using specific class names, they can continue to do so. If the author is already using a class name that happens to also be a microformats class name, then the author may want to consider using contextual CSS class selectors to make sure to reduce any unintentional styling effects, or ideally use their own site-specific class names that are not microformats class names.&lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
* [http://tantek.com/log/2002/12.html#L20021216 A Touch Of Class]&lt;br /&gt;
* [http://tantek.com/log/2004/07.html#classmeaningnotshow Class For Meaning Not For Show]&lt;br /&gt;
* [http://www.meyerweb.com/eric/thoughts/2004/07/18/competent-classing Competant Classing], by Eric Meyer for discussion of choosing class names in (X)HTML&lt;br /&gt;
* [http://www.microformats.org/blog/2005/10/19/more-than-styling/ Class attributes are about more than styling] - Ryan King dispells common misconceptions about the ''HTML'' class attribute.&lt;br /&gt;
* [https://tantek.com/2012/353/b1/why-html-classes-css-class-selectors  Why you should say HTML classes, CSS class selectors, or CSS pseudo-classes, but not CSS classes]&lt;br /&gt;
&lt;br /&gt;
===Q. ''Are class names case sensitive?'' ===&lt;br /&gt;
&lt;br /&gt;
A: Yes, HTML class names (i.e. as used in microformats) are case-sensitive. &lt;br /&gt;
&lt;br /&gt;
By [[naming-principles#Some_Details|convention]], microformats use all lowercase classnames similar to CSS's approach. This way authors never have to guess about the capitalization of microformats properties - they're always all lowercase.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; semantics ==&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Can microformats use other elements besides divs?'' ===&lt;br /&gt;
A. Yes. Markup with microformats should use the most appropriate semantic HTML. For example if the name of an organization hCard is a top level heading, then: &amp;lt;p&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;div class=vcard&amp;amp;gt;&amp;lt;br/&amp;gt;&amp;lt;strong&amp;gt;&amp;amp;lt;h1 class=&amp;quot;fn org&amp;quot;&amp;amp;gt;ACME Co.&amp;amp;lt;/h1&amp;amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt; is more appropriate than &amp;lt;p&amp;gt;&amp;lt;code&amp;gt;&amp;amp;lt;div class=vcard&amp;amp;gt;&amp;lt;br/&amp;gt;&amp;lt;strong&amp;gt;&amp;amp;lt;div class=&amp;quot;fn org&amp;quot;&amp;amp;gt;ACME Co.&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;br/&amp;gt;&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Is it semantically meaningless to use divs?'' ===&lt;br /&gt;
&lt;br /&gt;
A. Yes, both &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; have nearly no semantics. &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; can be used to represent a &amp;quot;division&amp;quot; of the page content. Similarly &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; can be used to reperesent that that &amp;quot;span&amp;quot; of text has some meaning, but the specifics of what that meaning is undefined by the &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Does the use of &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; elements add any semantics to web pages?''===&lt;br /&gt;
&lt;br /&gt;
A. According to the [http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.4 HTML 4 spec], &amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; &amp;quot;offer a generic mechanism for adding structure to documents.&amp;quot; Their only meaning is in dividing documents into sections, and as such, their presence implies that the content within has a specific, but undefined by the element markup, semantic. Thus they are nearly semantic-free.&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Why do the examples on the wiki use &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; for nearly everything?''===&lt;br /&gt;
&lt;br /&gt;
A. &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code class=&amp;quot;element&amp;quot;&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt; are generic elements in HTML. When you use microformats, you should pick the most specific semantic element available for the semantics you are trying to express. You might, for example, apply &amp;lt;code&amp;gt;class=&amp;quot;vevent&amp;quot;&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;class=&amp;quot;vcard&amp;quot;&amp;lt;/code&amp;gt; to a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.  Here is an example using more [[semantic HTML]] with a definition list to mark-up an hCard: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dt class=&amp;quot;category&amp;quot;&amp;gt;Restaurant&amp;lt;/dt&amp;gt;&lt;br /&gt;
  &amp;lt;dd class=&amp;quot;fn org&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://www.yelp.com/biz/crepes-n-more-fairfield&amp;quot;&amp;gt;Crepes N More&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/dd&amp;gt;&lt;br /&gt;
 &amp;lt;dt&amp;gt;Address&amp;lt;/dt&amp;gt;&lt;br /&gt;
  &amp;lt;dd class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;span class=&amp;quot;street-address&amp;quot;&amp;gt;620 Jackson st.&amp;lt;/span&amp;gt;, &lt;br /&gt;
   &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Fairfield&amp;lt;/span&amp;gt;, &lt;br /&gt;
   &amp;lt;abbr class=&amp;quot;region&amp;quot; title=&amp;quot;California&amp;quot;&amp;gt;CA&amp;lt;/abbr&amp;gt;, &lt;br /&gt;
   &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;94533&amp;lt;/span&amp;gt;, &lt;br /&gt;
   &amp;lt;abbr class=&amp;quot;country-name&amp;quot; title=&amp;quot;United States of America&amp;quot;&amp;gt;USA&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/dd&amp;gt;&lt;br /&gt;
  &amp;lt;dt&amp;gt;Phone&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd class=&amp;quot;tel&amp;quot;&amp;gt;+1.707.428.2210&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Class semantics ==&lt;br /&gt;
&lt;br /&gt;
===Q. ''How will microformat class names impact page size?''===&lt;br /&gt;
&lt;br /&gt;
A. You probably won't notice any impact on page size when authoring with microformats.  Our experience is that people use comparably sized class names, and [[semantic-class-names|semantic class names]] are now considered an industry best practice.  Some sites are successfully publishing millions of microformats, and we haven't heard any complaints yet.  You are more likely to gain space savings by more fully adopting [[microformats#the_microformats_principles|the principles of microformats]], and eliminating tables for layout.&lt;br /&gt;
&amp;lt;span class=&amp;quot;todo&amp;quot;&amp;gt;''TODO: Consider creating a new section for web authoring tips?  Or at least linking to another site that advocates good authorship.''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Q. ''Can an element have more than one class''===&lt;br /&gt;
&lt;br /&gt;
A. Yes, the class attribute can contain a space delimited list of classes.  For example:&lt;br /&gt;
   &amp;amp;lt;p class=&amp;amp;quot;todo idea&amp;amp;quot;&amp;amp;gt;Write high quality and simple mark-up.&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
See W3C HTML 4.01 Specification: [http://www.w3.org/TR/html401/struct/global.html#adef-class 7.5.2 Element identifiers: the id and class attributes]&lt;br /&gt;
&lt;br /&gt;
===Q. ''Does the order of class names matter?'' ===&lt;br /&gt;
A. No. The HTML class attribute is an unordered space separated set of class names. The order of classes in an class attribute do affect their meaning or use. E.g. these two divs' class names are equivalent:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;a b&amp;quot;&amp;gt;...&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;b a&amp;quot;&amp;gt;...&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Q. ''Do (X)HTML class names have semantics?''===&lt;br /&gt;
&lt;br /&gt;
A. The HTML4 specification does not define any particular class values [http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2 REF], nor does it define any particular semantic for class values [http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2 REF], except that they &amp;quot;may be used for general user agent processing&amp;quot; [http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2 REF]. However, the [http://www.w3.org/TR/WD-htmllink-970328#profile&amp;quot; draft of &amp;quot;Hypertext Links in HTML&amp;quot;], allows for a &amp;quot;profile&amp;quot; to define meanings for those classes. [http://gmpg.org/xmdp/ XMDP] is a format for defining meta data profiles for (X)HTML, and thus an XMDP profile can be used to define the meanings of class names. &lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [http://tantek.com/log/2002/12.html#L20021216 A Touch Of Class]&lt;br /&gt;
* [http://www.w3.org/TR/WD-htmllink-970328 Hypertext Links in HTML]&lt;br /&gt;
&lt;br /&gt;
===Q. ''I thought one of the main goals of CSS was to separate data from presentation. Isn’t this sneaking presentation back into data?''===&lt;br /&gt;
&lt;br /&gt;
A. This is a quite commonly expressed objection to the way microformats uses class, but it's based on a misunderstanding of the way the class attribute in HTML was designed. Yes, class is very commonly,and appropriately used by web designers in conjunction with CSS to style pages, and in truth, it is often overused for that, but despite this, class, according to the HTML specification &amp;quot;has several roles in HTML&amp;quot;, including [http://www.w3.org/TR/html4/struct/global.html#h-7.5.2 &amp;quot;for general purpose processing by user agents&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
Microformats utilize this second aspect of the class (and id) attribute, and do so legitimately. It is not an abuse of the class or id attribute to use it to add semantic context to a document. Nor is the use of class in and of itself presentational - in fact, it is an important mechanism for separating presentation from structured content. &lt;br /&gt;
&lt;br /&gt;
For some more on using class semantically, here are some articles&lt;br /&gt;
&lt;br /&gt;
* [http://meyerweb.com/eric/thoughts/2004/07/18/competent-classing Competent Classing by Eric Meyer]&lt;br /&gt;
* [http://www.w3.org/QA/Tips/goodclassnames Use class with semantics in mind, W3C]&lt;br /&gt;
* [http://tantek.com/log/2004/07.html#d20t2359 More about the class attribute, Tantek Çelik]&lt;br /&gt;
&lt;br /&gt;
===Q. ''Should human readable data go into class names?'' ===&lt;br /&gt;
&lt;br /&gt;
A. No. We should not put human readable data into the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute, because it puts human-readable data in a spot that's no longer visible.  See the [[principles]].&lt;br /&gt;
&lt;br /&gt;
Q. Follow-up. How is that different from putting human readable data into the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute?&lt;br /&gt;
&lt;br /&gt;
A. The title attribute is displayed in tool-tips in the overwhelming majority of browsers in use and thus is quite semi-visible, and thus human verifiable by casual users.  The class attribute is not displayed in a tool-tip or any other user interface (not withstanding developer interfaces like view source).&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;abbr title='Question'&amp;gt;Q.&amp;lt;/abbr&amp;gt; Why don't microformats use the HTML5 &amp;lt;code&amp;gt;data-&amp;lt;/code&amp;gt; attributes to embed data?===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;abbr title='Answer'&amp;gt;A&amp;lt;/abbr&amp;gt;:&lt;br /&gt;
# The HTML5 &amp;lt;code&amp;gt;data-&amp;lt;/code&amp;gt; attribute specification expressly forbids the microformats use-case:&amp;lt;blockquote cite='https://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes'&amp;gt;Custom data attributes are intended to store custom data private to the page or application, for which there are no more appropriate attributes or elements. These attributes are not intended for use by software that is independent of the site that uses the attributes. [...] It would be inappropriate, however, for the user to use generic software not associated with that music site to search for tracks of a certain length by looking at this data. This is because these attributes are intended for use by the site's own scripts, and are not a generic extension mechanism for publicly-usable metadata.&amp;lt;/blockquote&amp;gt;— &amp;lt;cite&amp;gt;[http://www.w3.org/TR/html5/semantics.html#embedding HTML5 · Embedding custom-non-visible data]&amp;lt;/cite&amp;gt;&lt;br /&gt;
# Microformats are designed around the principle that non-visible data is undesirable, harder to maintain, more prone to inaccuracy (as no-one will see the data on the page to notice errors). The &amp;lt;code&amp;gt;data-&amp;lt;/code&amp;gt; attribute is explicitly designed for non-visible data.&lt;br /&gt;
&lt;br /&gt;
== Hidden Content ==&lt;br /&gt;
Related to &amp;lt;span id=&amp;quot;Microformats_and_Spam&amp;quot;&amp;gt;microformats and spam&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Will crawlers get data from hidden content?'' ===&lt;br /&gt;
Q: ''If I markup some content inside of a block with display:none, will crawlers get data from it anyway?''&lt;br /&gt;
&lt;br /&gt;
A. Crawlers and search engines frown upon hidden (e.g. display:none) content in general (e.g. see next FAQ about Google, hidden content, and spam). If some content doesn't fit into your visible design, then it's not worth microformatting it. Visible content is the only content you can reasonably trust/expect to be correct / up to date. Invisible content tends to rot, get out of date, fail to be checked etc., so don't waste any time publishing invisible content - it's going to die anyway.&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Given that Google now looks at hidden content as potential spam, will invisible microformats be considered spam?''===&lt;br /&gt;
&lt;br /&gt;
;shortlink&lt;br /&gt;
:http://j.mp/gnohide&lt;br /&gt;
&lt;br /&gt;
A. It is advisable not to hide information in your site, regardless of whether it is microformatted or not.  Microformats provide a mechanism for marking up ''visible'' content. Any mechanism for embedding ''invisible'' or hidden content risks being considered spam due to the fact that invisible (meta)data inevitably ends up being abused.  Avoid invisible (meta)data.  Publish visible data.&lt;br /&gt;
&lt;br /&gt;
Google in particular have said: &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;In general, Google won't display content that is not visible to the user. In other words, don't show content to users in one way, and use hidden text to mark up information separately for search engines and web applications. You should mark up the text that actually appears to your users when they visit your web pages.[http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=146897]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only 'hidden' data they support according to that article is specific use of the [[value class pattern]] &amp;lt;code&amp;gt;value-title&amp;lt;/code&amp;gt; empty span with machine-readable information adjacent to a human-readable equivalent.&lt;br /&gt;
&lt;br /&gt;
== Design Patterns with Abbr &amp;amp;amp; Title ==&lt;br /&gt;
=== Q. ''Why is ABBR being used when the title attribute is available on all HTML elements?''===&lt;br /&gt;
&lt;br /&gt;
In the datetime design pattern the title attribute is used for the value of the property and the node value is used as the display value. &amp;amp;lt;abbr title=&amp;quot;value-here&amp;quot;&amp;amp;gt;Display-Here&amp;amp;lt;/abbr&amp;amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A. The short answer is that &amp;amp;lt;abbr&amp;amp;gt; has the correct semantics.&lt;br /&gt;
&lt;br /&gt;
The longer answer is that the value is often an abbreviated version of the formal value. Of course, if you don't want to use an &amp;amp;lt;abbr&amp;amp;gt;, you can use another element like this:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;abbr title=&amp;quot;2006-12-31T12:59:59Z&amp;quot; class=&amp;quot;dtstamp&amp;quot;&amp;amp;gt;New Year&amp;amp;lt;/abbr&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;span class=&amp;quot;dtstamp&amp;quot;&amp;amp;gt;2006-12-31T12:59:59Z&amp;amp;lt;/span&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, microformats encourage the content to be visible and thus prefer the text of an element rather than using the 'title' attribute or any other less visible alternative.  The exception is made for datetimes and abbr due to the fact that microformats are for humans first, machines second.  Thus the content of the abbr element is used to provide human visible content and the machine equivalent is placed in the less visible (but still easily verifiable) 'title' attribute.&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Can I include information within the HTML element itself?'' ===&lt;br /&gt;
&lt;br /&gt;
Longer: ''Can I include information within the HTML element itself? e.g. &amp;amp;lt;span class=&amp;quot;org&amp;quot; title=&amp;quot;Foobar, Inc.&amp;quot;&amp;amp;gt;&amp;amp;lt;/span&amp;amp;gt;?'' [http://twitter.com/szarka/status/109723996223840256]&lt;br /&gt;
&lt;br /&gt;
A. You can't do that with the &amp;lt;code&amp;gt;span&amp;lt;/code&amp;gt; element because there is no specific semantic connection between the element contents and its &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; other than being [http://www.w3.org/TR/html401/struct/global.html#h-7.4.3 &amp;quot;advisory information about the element&amp;quot;]. In addition, it's bad form (and penalized by Google) to include invisible data on web pages.&lt;br /&gt;
&lt;br /&gt;
Instead, you can use the &amp;lt;code&amp;gt;abbr&amp;lt;/code&amp;gt; element and its &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute to provide an expanded form of the information in cases where substituting the expanded form when reading the text in context reads correctly, e.g. inside an [[hCard]]:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;region&amp;quot; title=&amp;quot;Connecticut&amp;quot;&amp;gt;CT&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://twitter.com/microformats/status/112556548877844481]&lt;br /&gt;
&lt;br /&gt;
== Nesting of elements ==&lt;br /&gt;
=== Q. ''It seems that &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;amp;quot;vcard fn org&amp;amp;quot; id=&amp;amp;quot;club&amp;amp;quot;&amp;amp;gt;...&amp;amp;lt;/span&amp;amp;gt;&amp;lt;/code&amp;gt; should work. Is this correct?''===&lt;br /&gt;
&lt;br /&gt;
A. No. See [[hcard-faq#nesting-properties]].&lt;br /&gt;
&lt;br /&gt;
== Usage/Verbiage ==&lt;br /&gt;
=== Q. ''Is '''Microformat''' a proper noun? Should it be capitalized?''===&lt;br /&gt;
&lt;br /&gt;
A. Since the term &amp;quot;microformat&amp;quot; was established, it has been written in lowercase.  This is a nod to its roots in the term &amp;quot;lowercase semantic web&amp;quot;, in contrast to the uppercase &amp;quot;Semantic Web&amp;quot; which has long been tied to RDF and other technologies often viewed as impractical for the open web. In a few cases in the wild(citation needed), the term has been capitalized as &amp;quot;Microformat&amp;quot;, perhaps due to proper noun capitalization conventions.&lt;br /&gt;
&lt;br /&gt;
=== Q. ''Can you use microformat as an adjective or verb, as in &amp;quot;microformatted content&amp;quot; or &amp;quot;can you please microformat that page with an hCard?&amp;quot;'' ===&lt;br /&gt;
&lt;br /&gt;
A. Because the word ''microformat'' is derived from the word '''format''', it makes logical sense that one can use the term as an adjective or verb, just as one would use the word '''format'''.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
=== Q. '''How do I find an answer to a question not mentioned here?'' ===&lt;br /&gt;
&lt;br /&gt;
A. Join [[irc]] and ask!&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[misconceptions]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-author&amp;diff=70689</id>
		<title>rel-author</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-author&amp;diff=70689"/>
		<updated>2024-06-20T22:58:35Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/ fixes &amp;quot;Pages using deprecated source tags&amp;quot; category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:rel author}}&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (Editor)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;rel-author&amp;lt;/dfn&amp;gt; is for linking from an article or post (e.g. marked up with [[hAtom]]) to a page or site representing its author. rel-author is one of several open [[microformats|microformat]] standards suitable for embedding data in HTML/HTML5, and Atom/RSS/XHTML or other XML.&lt;br /&gt;
== Summary ==&lt;br /&gt;
'''&amp;lt;code&amp;gt;rel=&amp;amp;quot;author&amp;amp;quot;&amp;lt;/code&amp;gt;''' is for relating an article or post to a page or site representing its author, typically to give them credit for their work (or portions of it, like books, articles, blog posts etc).&lt;br /&gt;
&lt;br /&gt;
E.g. a page or a post written by a person &amp;quot;Erin Smith&amp;quot; could contain a link like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://erin.example.com/&amp;quot; rel=&amp;quot;author&amp;quot;&amp;gt;Erin Smith&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;rel=&amp;quot;author&amp;quot;&amp;lt;/code&amp;gt; attribute indicates that the destination of the link represents the author of the current page (or post).&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Add permalinks of articles (no homepages) using rel=author, with any particularly interesting details about their usage:&lt;br /&gt;
&lt;br /&gt;
* [http://harpers.org/archive/2015/10/the-mother-of-all-questions/?single=1 Harpers.org]&lt;br /&gt;
* [http://variety.com/2015/tv/columns/donald-trump-saturday-night-live-host-nbc-controversy-protests-1201634443/ Variety.com]&lt;br /&gt;
&lt;br /&gt;
The Harpers page is interesting because it uses multiple rel=author, but clearly intends to scope the authorship to the containing div class=&amp;quot;article&amp;quot; element. This doesn't follow any spec.&lt;br /&gt;
&lt;br /&gt;
The Variety page is interesting because it uses multiple rel=author, with the intent to scope the authorship to the containing article element (as described in the [http://www.w3.org/TR/html/links.html#link-type-author HTML spec])&lt;br /&gt;
&lt;br /&gt;
(Any homepages added to these examples will be reverted, and the editing accounts banned.)&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
Plenty of implementations in the IndieWebCamp community, in particular:&lt;br /&gt;
* The [https://indiewebcamp.com/authorship authorship algorithm] uses [[rel-author]].&lt;br /&gt;
&lt;br /&gt;
== articles ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
Articles and blog posts about rel=author:&lt;br /&gt;
* 2013-08-20 http://moz.com/blog/google-plus-correlations&lt;br /&gt;
* 2014-08-28 http://searchengineland.com/goodbye-google-authorship-201975&lt;br /&gt;
&lt;br /&gt;
== past implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
Past implementations.&lt;br /&gt;
&lt;br /&gt;
=== Google ===&lt;br /&gt;
'''Dropped 2014-08-28[http://searchengineland.com/goodbye-google-authorship-201975]'''.&lt;br /&gt;
&lt;br /&gt;
An interesting rel=&amp;amp;quot;author&amp;amp;quot; implementation set of examples is brought up by Google in a video posted on Youtube:&lt;br /&gt;
* [http://www.youtube.com/watch?v=FgFb6Y-UJUI Authorship markup video] and the respective [http://www.google.com/support/webmasters/bin/answer.py?answer=1229920 implementation procedure].&lt;br /&gt;
&lt;br /&gt;
=== query parameter alternative ===&lt;br /&gt;
Google has proposed an alternate mechanism for specifying rel=author on sites/CMSs that don't permit authors to specify the rel attribute, using a query parameter added to the URL instead. e.g. the above example with query parameter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://erin.example.com/?rel=author&amp;quot;&amp;gt;Erin Smith&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This technique is explained in the following video:&lt;br /&gt;
* [http://www.youtube.com/watch?v=gG3Oh7Ues8A Authorship markup using URL parameters video] and the [http://www.google.com/support/webmasters/bin/answer.py?answer=1408986 new implementation procedure] with the help of Google Profile (and hopefully, this type of implementation can be used on any other personal BIO page of respective author).&lt;br /&gt;
&lt;br /&gt;
==== query param issues ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* While I understand the motivation here, this is not a good idea.  There will definitely be someone who has ?rel= as an actual query param meaning something in their app, and this will just break things. [[User:Singpolyma|Singpolyma]] 17:56, 12 August 2011 (UTC)&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[rel-author-issues]]&lt;br /&gt;
* [[hAtom]]&lt;br /&gt;
* [[hNews]]&lt;br /&gt;
* [[rel-faq]]&lt;br /&gt;
* [[rel-me]]&lt;br /&gt;
* [[existing-rel-values]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70684</id>
		<title>microformats2</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70684"/>
		<updated>2024-03-01T19:05:40Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Implementations */ microformats.io links, commented out Glenn's since it's not working currently&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
Welcome to the microformats2 home page.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Microformats2 is the latest version of microformats, the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for &amp;lt;em&amp;gt;both&amp;lt;/em&amp;gt; authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).&lt;br /&gt;
&lt;br /&gt;
Microformats2 replaces and supersedes both classic microformats (sometimes called microformats1), as well as incorporates lessons learned from [[microdata]] and [[RDFa]].&lt;br /&gt;
&lt;br /&gt;
=== simple microformats2 examples ===&lt;br /&gt;
Here are a few &amp;lt;span id=&amp;quot;simple_microformats_2_examples&amp;quot;&amp;gt;simple microformats2 examples&amp;lt;/span&amp;gt; along with canonical [[JSON]].&lt;br /&gt;
&lt;br /&gt;
==== person example ====&lt;br /&gt;
* Simple person reference:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Frances Berriman&amp;quot;] &lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person ====&lt;br /&gt;
* Simple hyperlinked person reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Ben Ward&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://benward.me&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person image ====&lt;br /&gt;
* Simple hyperlinked person image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://rohit.khare.org/&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Rohit Khare&amp;quot;&lt;br /&gt;
      src=&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Rohit Khare&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://rohit.khare.org/&amp;quot;],&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple cases details in [[microformats-2-implied-properties]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== detailed person example ====&lt;br /&gt;
* More detailed person&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;u-photo&amp;quot; alt=&amp;quot;photo of Mitchell&amp;quot;&lt;br /&gt;
       src=&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt;&lt;br /&gt;
 (&amp;lt;a class=&amp;quot;u-url&amp;quot; &lt;br /&gt;
     href=&amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
    &amp;gt;@MitchellBaker&amp;lt;/a&amp;gt;)&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-note&amp;quot;&amp;gt;&lt;br /&gt;
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Strategy&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Leadership&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;],&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&lt;br /&gt;
        &amp;quot;http://blog.lizardwrangler.com/&amp;quot;,&lt;br /&gt;
        &amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
      &amp;quot;note&amp;quot;: [&amp;quot;Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&amp;quot;],&lt;br /&gt;
      &amp;quot;category&amp;quot;: [&lt;br /&gt;
        &amp;quot;Strategy&amp;quot;,&lt;br /&gt;
        &amp;quot;Leadership&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== details from examples ===&lt;br /&gt;
Details demonstrated by the examples:&lt;br /&gt;
# The JSON &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; uses the full microformat root class name (e.g. &amp;lt;code&amp;gt;&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt;) for consistent identification.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
=== microformats2 design ===&lt;br /&gt;
&lt;br /&gt;
microformats2 has the following key design aspects:&lt;br /&gt;
&lt;br /&gt;
; Prefixes for class names&lt;br /&gt;
: All microformats class names use prefixes. Prefixes are '''syntax independent from vocabularies''', which are developed separately.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-*&amp;lt;/code&amp;gt; for root class names (e.g. &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; for plain text properties (e.g. &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;u-*&amp;lt;/code&amp;gt; for URL properties (e.g. &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-*&amp;lt;/code&amp;gt; for date/time properties (e.g. &amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;e-*&amp;lt;/code&amp;gt; for embedded markup properties (e.g. &amp;lt;code&amp;gt;e-note&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-prefixes]] for more details.&lt;br /&gt;
&lt;br /&gt;
; Flat sets of optional properties&lt;br /&gt;
: 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).&lt;br /&gt;
&lt;br /&gt;
; Single class markup for common uses&lt;br /&gt;
: Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;. The simple microformats2 examples above demonstrate these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parsing each prefix (including generating canonical JSON) is detailed step-by-step in:&lt;br /&gt;
* The '''[[microformats2-parsing|microformats2 parsing specification]]'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Most properties are specified and used with a single specific prefix (or occasionally two or three) that is self-evident from context. However, any parsing prefix can be used with any property, especially if you find a good reason to do so!&lt;br /&gt;
&lt;br /&gt;
== v2 vocabularies ==&lt;br /&gt;
Status: '''&amp;lt;span id=&amp;quot;draft_v2_vocabularies&amp;quot;&amp;gt;draft&amp;lt;/span&amp;gt;'''. Please review and provide feedback in [[IRC]].&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-item]]&lt;br /&gt;
* [[h-listing]]&lt;br /&gt;
* [[h-product]]&lt;br /&gt;
* [[h-recipe]]&lt;br /&gt;
* [[h-resume]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[h-review-aggregate]]&lt;br /&gt;
&lt;br /&gt;
See below for vocabulary summaries.&lt;br /&gt;
&lt;br /&gt;
=== h-adr ===&lt;br /&gt;
{{main|h-adr}}&lt;br /&gt;
&lt;br /&gt;
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-adr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;adr&amp;quot;&amp;gt;adr&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;post-office-box&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-card ===&lt;br /&gt;
{{main|h-card}}&lt;br /&gt;
&lt;br /&gt;
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-card&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-prefix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-given-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-additional-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-family-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sort-string&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-suffix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nickname&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-logo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-adr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tel&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-note&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-key&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-org&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-job-title&amp;lt;/code&amp;gt;''' - previously 'title' in hCard, disambiguated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-role&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-impp&amp;lt;/code&amp;gt;''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sex&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-gender-identity&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-anniversary&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved properties: (properties not used much (if at all) in practice)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-unit&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tz&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-rev&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-card&amp;quot; is found, don't look for a &amp;quot;vcard&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vcard&amp;quot;&amp;gt;vcard&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-prefix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;given-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;additional-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;family-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-suffix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;logo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-adr h-adr&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bday&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;org&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-unit&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; - parse as '''p-job-title'''&lt;br /&gt;
* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:&lt;br /&gt;
* &amp;lt;code&amp;gt;tz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== h-entry ===&lt;br /&gt;
{{main|h-entry}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-entry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' (was p-entry-title, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' (was p-entry-summary, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (was e-entry-content, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hAtom]]. &lt;br /&gt;
&lt;br /&gt;
Brainstorming:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-video&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - for links to other posts that this post is a reply to (comment regarding, etc.)&lt;br /&gt;
&lt;br /&gt;
Backward compatibility: &lt;br /&gt;
&lt;br /&gt;
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For hAtom backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-entry&amp;quot; is found, don't look for a &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;h-entry-faq&amp;quot;&amp;gt;FAQ:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [http://indiewebcamp.com/note note]?'''&lt;br /&gt;
** A few options, from simplest to most detailed.&lt;br /&gt;
*** '''same as the p-content/e-content''' property.&lt;br /&gt;
*** '''same as the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
*** '''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 &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolved Issues:&lt;br /&gt;
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;p-entry-summary&amp;lt;/code&amp;gt;'''. The historical semantic of &amp;quot;entry-summary&amp;quot; is not different from &amp;quot;summary&amp;quot; in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;e-entry-content&amp;lt;/code&amp;gt;'''. Same point and advantage. In microformats2, entry-content is no more.&lt;br /&gt;
** '''drop &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;'''. Unnecessary and subsumed by &amp;quot;p-name&amp;quot;. Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.&lt;br /&gt;
&lt;br /&gt;
=== h-event ===&lt;br /&gt;
{{main|h-event}}&lt;br /&gt;
&lt;br /&gt;
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-event&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''(*)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hCalendar]]. &lt;br /&gt;
&lt;br /&gt;
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== h-geo ===&lt;br /&gt;
{{main|h-geo}}&lt;br /&gt;
&lt;br /&gt;
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-geo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;geo&amp;quot;&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-item ===&lt;br /&gt;
{{main|h-item}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-item&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of &amp;quot;h-item&amp;quot; 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 &amp;quot;h-item&amp;quot; and its contained content/elements if any).&lt;br /&gt;
&lt;br /&gt;
=== h-product ===&lt;br /&gt;
{{main|h-product}}&lt;br /&gt;
&lt;br /&gt;
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-product&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-product&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-brand&amp;lt;/code&amp;gt;''' - manufacturer, can also be a nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-identifier&amp;lt;/code&amp;gt;''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-review&amp;lt;/code&amp;gt;''' - a review of the product, can also be a nested &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-price&amp;lt;/code&amp;gt;''' - retail price of the product&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-product&amp;quot; is found, don't look for an &amp;quot;hproduct&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hproduct&amp;quot;&amp;gt;hproduct&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;brand&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;review&amp;lt;/code&amp;gt; - including compat root class &amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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'''&lt;br /&gt;
&lt;br /&gt;
=== h-recipe ===&lt;br /&gt;
{{main|h-recipe}}&lt;br /&gt;
&lt;br /&gt;
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-recipe&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-recipe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - the name of the recipe&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-ingredient&amp;lt;/code&amp;gt;''' - describes one or more ingredients used in the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-yield&amp;lt;/code&amp;gt;''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-instructions&amp;lt;/code&amp;gt;''' - the method of the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - the time it takes to prepare the meal described by the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - an accompanying image&lt;br /&gt;
&lt;br /&gt;
Experimental properties with wide adoption&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''  - provides a short summary or introduction &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - the person who wrote the recipe with &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - the date the recipe was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nutrition&amp;lt;/code&amp;gt;''' - nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-recipe&amp;quot; is found, don't look for an &amp;quot;hrecipe&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hrecipe&amp;quot;&amp;gt;hrecipe&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== h-resume ===&lt;br /&gt;
{{main|h-resume}}&lt;br /&gt;
&lt;br /&gt;
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-resume&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-resume&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - overview of qualifications and objectives&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-contact&amp;lt;/code&amp;gt;''' - current contact info in an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-education&amp;lt;/code&amp;gt;''' - an education &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the school, location.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-experience&amp;lt;/code&amp;gt;''' - a job or other professional experience &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the organization, location, job-title.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-skill&amp;lt;/code&amp;gt;''' - a skill or ability, optionally including level and/or duration of experience&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-affiliation&amp;lt;/code&amp;gt;''' - an affiliation with an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; organization&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-resume&amp;quot; is found, don't look for an &amp;quot;hresume&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hresume&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;education&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;experience&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;affiliation&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== h-review ===&lt;br /&gt;
{{main|h-review}}&lt;br /&gt;
&lt;br /&gt;
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt;''' - person who authored the review &lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt;''' - date time of when the review was written&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hreview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview&amp;quot;&amp;gt;hreview&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== h-review-aggregate ===&lt;br /&gt;
{{main|h-review-aggregate}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review-aggregate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating average rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - number of reviews aggregated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - number of reviewers who have rated the product, thus contributing to the average rating.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review-aggregate&amp;quot; is found, don't look for an &amp;quot;hreview-aggregate&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab notes ===&lt;br /&gt;
Notes: &lt;br /&gt;
* 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 &amp;quot;p-&amp;quot;, &amp;quot;u-&amp;quot;, &amp;quot;dt-&amp;quot;, &amp;quot;e-&amp;quot; are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.&lt;br /&gt;
* Profile URLs are provided for use with the HTML4 &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute, microdata &amp;lt;code&amp;gt;itemtype&amp;lt;/code&amp;gt; attribute, and RDFa &amp;lt;code&amp;gt;vocab&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;typeof&amp;lt;/code&amp;gt; attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). &lt;br /&gt;
* microformats2 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.&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab to-do ===&lt;br /&gt;
To do: &lt;br /&gt;
* write a simple tutorial for creating/getting started with microformats-2 markup for new content&lt;br /&gt;
* examples in each h-* spec listed above of how to embed other microformats in them&lt;br /&gt;
* actual profile documents at &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-*&amp;lt;/nowiki&amp;gt; URLs mentioned above.&lt;br /&gt;
* 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.&lt;br /&gt;
* write a porting guide mapping v1 property -&amp;gt; v2 property&lt;br /&gt;
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).&lt;br /&gt;
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
== combining microformats ==&lt;br /&gt;
Since microformats2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.&lt;br /&gt;
&lt;br /&gt;
=== h-event location h-card ===&lt;br /&gt;
Events commonly have venue information with additional structure, like address information. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot; href=&amp;quot;http://indiewebcamp.com/2012&amp;quot;&amp;gt;&lt;br /&gt;
    IndieWebCamp 2012&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
  from &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2012-06-30&amp;lt;/time&amp;gt; &lt;br /&gt;
  to &amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; at &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-name p-org u-url&amp;quot; href=&amp;quot;http://geoloqi.com/&amp;quot;&amp;gt;&lt;br /&gt;
      Geoloqi&lt;br /&gt;
    &amp;lt;/a&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;920 SW 3rd Ave. Suite 400&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Portland&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;p-region&amp;quot; title=&amp;quot;Oregon&amp;quot;&amp;gt;OR&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested h-card used to structure the p-location of the h-event is represented as a structured value for &amp;quot;location&amp;quot; in the JSON, which has an additional key, &amp;quot;value&amp;quot; that represents the plain text version parsed from the p-location.&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-event&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;IndieWebCamp 2012&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://indiewebcamp.com/2012&amp;quot;],&lt;br /&gt;
      &amp;quot;start&amp;quot;: [&amp;quot;2012-06-30&amp;quot;],&lt;br /&gt;
      &amp;quot;end&amp;quot;: [&amp;quot;2012-07-01&amp;quot;],&lt;br /&gt;
      &amp;quot;location&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Geoloqi&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;org&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://geoloqi.com/&amp;quot;],&lt;br /&gt;
          &amp;quot;street-address&amp;quot;: [&amp;quot;920 SW 3rd Ave. Suite 400&amp;quot;],&lt;br /&gt;
          &amp;quot;locality&amp;quot;: [&amp;quot;Portland&amp;quot;],&lt;br /&gt;
          &amp;quot;region&amp;quot;: [&amp;quot;Oregon&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)&lt;br /&gt;
** 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?)&lt;br /&gt;
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** 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)&lt;br /&gt;
** 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)&lt;br /&gt;
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of its &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== h-card org h-card ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)&lt;br /&gt;
&lt;br /&gt;
with source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes such organization affiliations are hyperlinked to the website of the organization:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])&lt;br /&gt;
&lt;br /&gt;
You can mark that up with a nested h-card:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; would.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card h-org&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;, &amp;quot;h-org&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;,&amp;quot;h-org&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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').&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
Or the nested object could be only marked up with 'h-card'. Source:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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].'''&lt;br /&gt;
&lt;br /&gt;
== authoring ==&lt;br /&gt;
=== minimal markup ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.&lt;br /&gt;
&lt;br /&gt;
Simple hCards work just by adding &amp;lt;code&amp;gt;class=&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img class=&amp;quot;h-card&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
     src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Tantek Çelik&amp;quot; src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tip: Inside an open tag, put the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute &amp;lt;em&amp;gt;first&amp;lt;/em&amp;gt;, then any human text content attributes (e.g. &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;), then URL attributes (e.g. &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;), and lastly other attributes (e.g. &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt;). 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.&lt;br /&gt;
&lt;br /&gt;
=== backward compatible ===&lt;br /&gt;
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats2]], you can include both existing classic microformats and microformats2 markup.&lt;br /&gt;
&lt;br /&gt;
In short: use both sets of class names simultaneously. &lt;br /&gt;
&lt;br /&gt;
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.&lt;br /&gt;
&lt;br /&gt;
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;) to separate the root class name element from explicit property class name elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn u-url url&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
       src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url url&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Tantek Çelik&amp;quot; &lt;br /&gt;
         src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* use the microformats-2 class name first, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;h-card vcard&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* and pair them when using an element for multiple properties, e.g.:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-photo photo&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;event-page h-event vevent&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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?]]&lt;br /&gt;
&lt;br /&gt;
== extensions ==&lt;br /&gt;
microformats2 is extensible by means of two separate but syntactically similar extension prefixes for experiments intended to be iterated &amp;amp; evolved and for vendor specific extensions not intended for standardization.&lt;br /&gt;
&lt;br /&gt;
=== experimental extensions ===&lt;br /&gt;
There have been times when specific sites have wanted to extend microformats beyond the set of properties in the microformat vocabulary, 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:&lt;br /&gt;
&lt;br /&gt;
For experimental extensions for the purpose of prototyping to learn more, iterate, towards possibly standardizing, use the &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; prefix before root and property class names.&lt;br /&gt;
&lt;br /&gt;
Specifically: &lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; indicates a literal 'x' for an experimental extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;p-x-prep-time&amp;quot; - a possible experimental property name to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-experimental-properties]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;VENDOR_EXTENSIONS&amp;quot;&amp;gt;vendor extensions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
For vendor specific extensions, microformats2 uses a mechanism similar to CSS vendor extensions, using a similar syntax as experimental extensions, except with a vendor prefix instead of a literal 'x'.&lt;br /&gt;
&lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; 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-, numbers allowed after first character)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;h-bigco-one-ring&amp;quot; - a hypothetical &amp;quot;bigco&amp;quot; vendor-specific &amp;quot;one-ring&amp;quot; microformat root class name.&lt;br /&gt;
* &amp;quot;p-goog-preptime&amp;quot; - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's &amp;quot;preptime&amp;quot; property extension] to [[hRecipe]] (aside: &amp;quot;duration&amp;quot; may be another property type to consider separate from &amp;quot;datetime&amp;quot; as it may be subject to different parsing rules.)&lt;br /&gt;
&lt;br /&gt;
See [[vendor-prefixes]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== extensions background ===&lt;br /&gt;
This extensibility mechanism is a composition of the following (at least somewhat) successful extension syntaxes:&lt;br /&gt;
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]&lt;br /&gt;
* IETF MIME/content-type &amp;quot;x-*&amp;quot; extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]&lt;br /&gt;
* IETF MIME experimental fields (e.g. x-spam-score)&lt;br /&gt;
* HTTP header extensions (e.g. x-pingback)&lt;br /&gt;
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.&lt;br /&gt;
&lt;br /&gt;
Proprietary or experimental CSS3 property implementations have been very successful.&lt;br /&gt;
&lt;br /&gt;
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:&lt;br /&gt;
&lt;br /&gt;
* -moz-border-radius&lt;br /&gt;
* -webkit-border-radius&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This use of vendor specific CSS properties allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.&lt;br /&gt;
&lt;br /&gt;
The benefits have been two-fold:&lt;br /&gt;
* designers have been able to make more attractive sites sooner (at least in some browsers)&lt;br /&gt;
* features have been market / real-world tested before being fully standardized, thus resulting in better features&lt;br /&gt;
&lt;br /&gt;
Implementers have used/introduced &amp;quot;x-&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])&lt;br /&gt;
* x-spam-score (in email headers)&lt;br /&gt;
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])&lt;br /&gt;
&lt;br /&gt;
Some standard types started as experimental &amp;quot;x-&amp;quot; types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:&lt;br /&gt;
&lt;br /&gt;
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-origins#VENDOR_EXTENSIONS]] for more background.&lt;br /&gt;
&lt;br /&gt;
== validators ==&lt;br /&gt;
microformats2 validators:&lt;br /&gt;
&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
* https://pin13.net/mf2/&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
&lt;br /&gt;
See the [[validators]] page for a longer list of validators.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* Ashton McAllan marks up her blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [https://acegiak.net/ acegiak.net]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&amp;amp;utm_medium=h-card&amp;amp;utm_campaign=Microformats eugenbusoiu.com]]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&amp;amp;utm_content=buffere4d40&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer sinolandquality.com]&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].&lt;br /&gt;
* 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].&lt;br /&gt;
* [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.&lt;br /&gt;
* [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].&lt;br /&gt;
** 2013-01-25 Barnaby Walters: &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]&amp;lt;/cite&amp;gt; - describes how he's using microformats2 vocabularies: &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;, and experimental vocabularies: &amp;lt;code&amp;gt;h-feed&amp;lt;/code&amp;gt; (embedded for update histories), [[activity-streams]] objects &amp;lt;code&amp;gt;h-as-article&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-collection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-note&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-update&amp;lt;/code&amp;gt;, as well as experimental properties: &amp;lt;code&amp;gt;u-alternate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-as-downstream-duplicate&amp;lt;/code&amp;gt; (links to POSSE copies), and &amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt; (links to content that the posts are in reply to). &lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.&lt;br /&gt;
* [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&lt;br /&gt;
* 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&amp;amp;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]&lt;br /&gt;
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
Test your microformatted web page with: &lt;br /&gt;
&lt;br /&gt;
=== Live Textarea Input ===&lt;br /&gt;
Use any of these to enter HTML+microformats2 markup and see the parsed result!&lt;br /&gt;
&lt;br /&gt;
* https://microformats.io hosts several of the parser libraries listed below for interactive testing&lt;br /&gt;
** https://go.microformats.io&lt;br /&gt;
** https://node.microformats.io/&lt;br /&gt;
** https://php.microformats.io/&lt;br /&gt;
** https://python.microformats.io/&lt;br /&gt;
** https://ruby.microformats.io/&lt;br /&gt;
** or look for &amp;quot;Parser Libraries&amp;quot; on the homepage&lt;br /&gt;
* https://pin13.net/mf2/ (where it says &amp;quot;Microformats Parser&amp;quot;)&lt;br /&gt;
&amp;lt;!-- * http://glennjones.net/tools/microformats/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Blogging tools ===&lt;br /&gt;
* '''Storytlr''' parses the &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; 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://web.archive.org/web/20130425010536/http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post] (archived; [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html original]).&lt;br /&gt;
** Note: per storytlr.org, retrieved 2022-05-22:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Storytlr is no longer maintained and '''might be unsafe to run on a public server'''. It is running on an old version of PHP and the Zend framework and has not been upgraded to latest versions and security patches.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* '''[https://github.com/snarfed/granary granary]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]], [[microformats2]], and Atom (all directions). Supported silos include Facebook, Twitter, Instagram, Google+, and Flickr. 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.&lt;br /&gt;
&lt;br /&gt;
* '''[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])&lt;br /&gt;
&lt;br /&gt;
* '''[https://xray.p3k.io XRay]''' ([https://github.com/aaronpk/XRay source code]) - Returns a normalized representation of the microformats data at a URL&lt;br /&gt;
&lt;br /&gt;
=== Parsers ===&lt;br /&gt;
Parsers, open source libraries, in alphabetical order by programming language:&lt;br /&gt;
&lt;br /&gt;
If you are implementing a microformats2 parser, see:&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
&lt;br /&gt;
==== Parsers in production ====&lt;br /&gt;
The following parsers are of very high quality, in active development, and use on live sites on the web in production.&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* [[any23]] Apache Any23 (Anything to Triples)] a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents: http://any23.apache.org&lt;br /&gt;
&lt;br /&gt;
===== Javascript =====&lt;br /&gt;
* '''microformats-parser''' for both browser and node.js&lt;br /&gt;
** github open source: https://github.com/aimee-gm/microformats-parser (current)&lt;br /&gt;
** live: https://aimee-gm.github.io/microformats-parser/&lt;br /&gt;
&lt;br /&gt;
Previously:&lt;br /&gt;
* '''microformat-node''' Node.js microformats2 parser&lt;br /&gt;
** github open source: https://github.com/microformats/microformat-node (current)&lt;br /&gt;
*** forked from https://github.com/glennjones/microformat-node&lt;br /&gt;
** test suite: https://github.com/microformats/tests&lt;br /&gt;
&amp;lt;!-- glennjones.net expired SSL cert as of 2018-358 or earlier&lt;br /&gt;
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/&lt;br /&gt;
** live: http://glennjones.net/tools/microformats/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
** command line: https://github.com/JerrySievert/mf2&lt;br /&gt;
* '''microformat-shiv'''  - cross browser javascript microformats2 parser which can also be used in browser extensions.&lt;br /&gt;
&amp;lt;!-- ** http://microformatshiv.com/  Unresponsive 2018-358  or earlier --&amp;gt;&lt;br /&gt;
** github open source: https://github.com/glennjones/microformat-shiv&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
* '''&amp;lt;span id=&amp;quot;php-mf2&amp;quot;&amp;gt;php-mf2&amp;lt;/span&amp;gt;''' - PHP microformats2 parser&lt;br /&gt;
** github open source: https://github.com/indieweb/php-mf2&lt;br /&gt;
** Packagist: https://packagist.org/packages/mf2/mf2&lt;br /&gt;
** live: &lt;br /&gt;
*** textarea entry: http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
*** URL and textarea entry: https://pin13.net/mf2/&lt;br /&gt;
** [https://github.com/barnabywalters/php-mf-cleaner mf-cleaner]: functions for working with the raw mf2 data structure&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
* '''mf2py''' Python microformats2 parser&lt;br /&gt;
** main entry: [[mf2py]]&lt;br /&gt;
** github open source: https://github.com/tommorris/mf2py&lt;br /&gt;
** live: &lt;br /&gt;
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]&lt;br /&gt;
*** textarea entry: https://kartikprabhu.com/connection/mfparser&lt;br /&gt;
*** another textarea: http://www.unmung.com/?html=&lt;br /&gt;
*** URL and/or textarea: https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
===== Ruby =====&lt;br /&gt;
* '''indieweb/microformats-ruby''' Ruby microformats parser&lt;br /&gt;
** github open source: https://github.com/indieweb/microformats-ruby&lt;br /&gt;
** live text entry: https://microformats-parser-ruby.herokuapp.com&lt;br /&gt;
&lt;br /&gt;
===== Haskell =====&lt;br /&gt;
* '''myfreeweb/microformats2-parser''' Haskell microformats2 parser&lt;br /&gt;
** github open source: https://github.com/myfreeweb/microformats2-parser&lt;br /&gt;
** live textarea entry: https://unrelenting.technology/mf2/&lt;br /&gt;
&lt;br /&gt;
==== Development parsers ====&lt;br /&gt;
The following parsers are in-development and have key microformats2 functionality yet are incomplete, not fully tested, or have other limitations. Contributions welcome!&lt;br /&gt;
&lt;br /&gt;
===== Erlang =====&lt;br /&gt;
* '''hazybluedot/mf2erl''' Erlang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/hazybluedot/mf2erl&lt;br /&gt;
&lt;br /&gt;
===== Elixir =====&lt;br /&gt;
* '''ckruse/microformats-elixir''' Elixir microformats2 parser&lt;br /&gt;
** github open source: https://github.com/ckruse/microformats2-elixir&lt;br /&gt;
&lt;br /&gt;
===== Go =====&lt;br /&gt;
* '''willnorris/microformats''' Golang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/willnorris/microformats&lt;br /&gt;
** live textarea entry: https://go.microformats.io/&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* '''Apache Any23''' a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents. Supports Microformats1 and 2.&lt;br /&gt;
** Download recent release: http://any23.apache.org/download.html&lt;br /&gt;
** live: http://any23-vm.apache.org/&lt;br /&gt;
** source: http://any23.apache.org/build-src.html&lt;br /&gt;
* '''mf2j''' An early-stage Java microformats2 parser&lt;br /&gt;
** github open source: https://github.com/kylewm/mf2j&lt;br /&gt;
** live: https://mf2j.herokuapp.com/?url={http://example.com}&lt;br /&gt;
&lt;br /&gt;
===== Perl =====&lt;br /&gt;
* '''Web::Microformats2''' Perl microformats2 parser&lt;br /&gt;
** https://metacpan.org/pod/Web::Microformats2&lt;br /&gt;
** open source: https://github.com/jmacdotorg/microformats2-perl&lt;br /&gt;
&lt;br /&gt;
==== Experiments ====&lt;br /&gt;
Experiments and other proof of concept microformat2 parsing support.&lt;br /&gt;
* '''Rust''' - https://gitlab.com/maxburon/microformats-parser&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Outreach ===&lt;br /&gt;
* [https://github.com/mozilla/fathom/issues/42 Mozilla Fathom:  examples with nested classes, e.g. microformats2]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
Presentations about microformats2:&lt;br /&gt;
* 2013-01-24 &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]&amp;lt;/cite&amp;gt; presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.&lt;br /&gt;
* 2012-09-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp;amp;amp; bits of HTML5: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.&lt;br /&gt;
* 2012-07-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
* 2012-07-14 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Testimonials ==&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;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 &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... But damn Microformats2 are sexy. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
This page was originally used to brainstorm and develop microformats2 in an exploratory manner, with problem statements, questions, lessons learned from past and other formats.&lt;br /&gt;
&lt;br /&gt;
Now that [[microformats2-parsing]] is a Microformats specification, the original brainstorming has been moved to a separate page for anyone who wants to understand more about how we came up with the design of microformats2, and how it evolved in the early years.&lt;br /&gt;
* [[microformats2-origins]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.&lt;br /&gt;
* [[microformats2-experimental-properties]] - listing experimental (-x- prefixed) properties and their use&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[vendor-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70683</id>
		<title>microformats2</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70683"/>
		<updated>2024-03-01T18:55:04Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Blogging tools */ IA link for Laurent's post, note that Storytlr not maintained and might not be safe to host&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
Welcome to the microformats2 home page.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Microformats2 is the latest version of microformats, the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for &amp;lt;em&amp;gt;both&amp;lt;/em&amp;gt; authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).&lt;br /&gt;
&lt;br /&gt;
Microformats2 replaces and supersedes both classic microformats (sometimes called microformats1), as well as incorporates lessons learned from [[microdata]] and [[RDFa]].&lt;br /&gt;
&lt;br /&gt;
=== simple microformats2 examples ===&lt;br /&gt;
Here are a few &amp;lt;span id=&amp;quot;simple_microformats_2_examples&amp;quot;&amp;gt;simple microformats2 examples&amp;lt;/span&amp;gt; along with canonical [[JSON]].&lt;br /&gt;
&lt;br /&gt;
==== person example ====&lt;br /&gt;
* Simple person reference:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Frances Berriman&amp;quot;] &lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person ====&lt;br /&gt;
* Simple hyperlinked person reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Ben Ward&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://benward.me&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person image ====&lt;br /&gt;
* Simple hyperlinked person image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://rohit.khare.org/&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Rohit Khare&amp;quot;&lt;br /&gt;
      src=&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Rohit Khare&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://rohit.khare.org/&amp;quot;],&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple cases details in [[microformats-2-implied-properties]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== detailed person example ====&lt;br /&gt;
* More detailed person&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;u-photo&amp;quot; alt=&amp;quot;photo of Mitchell&amp;quot;&lt;br /&gt;
       src=&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt;&lt;br /&gt;
 (&amp;lt;a class=&amp;quot;u-url&amp;quot; &lt;br /&gt;
     href=&amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
    &amp;gt;@MitchellBaker&amp;lt;/a&amp;gt;)&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-note&amp;quot;&amp;gt;&lt;br /&gt;
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Strategy&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Leadership&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;],&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&lt;br /&gt;
        &amp;quot;http://blog.lizardwrangler.com/&amp;quot;,&lt;br /&gt;
        &amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
      &amp;quot;note&amp;quot;: [&amp;quot;Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&amp;quot;],&lt;br /&gt;
      &amp;quot;category&amp;quot;: [&lt;br /&gt;
        &amp;quot;Strategy&amp;quot;,&lt;br /&gt;
        &amp;quot;Leadership&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== details from examples ===&lt;br /&gt;
Details demonstrated by the examples:&lt;br /&gt;
# The JSON &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; uses the full microformat root class name (e.g. &amp;lt;code&amp;gt;&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt;) for consistent identification.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
=== microformats2 design ===&lt;br /&gt;
&lt;br /&gt;
microformats2 has the following key design aspects:&lt;br /&gt;
&lt;br /&gt;
; Prefixes for class names&lt;br /&gt;
: All microformats class names use prefixes. Prefixes are '''syntax independent from vocabularies''', which are developed separately.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-*&amp;lt;/code&amp;gt; for root class names (e.g. &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; for plain text properties (e.g. &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;u-*&amp;lt;/code&amp;gt; for URL properties (e.g. &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-*&amp;lt;/code&amp;gt; for date/time properties (e.g. &amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;e-*&amp;lt;/code&amp;gt; for embedded markup properties (e.g. &amp;lt;code&amp;gt;e-note&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-prefixes]] for more details.&lt;br /&gt;
&lt;br /&gt;
; Flat sets of optional properties&lt;br /&gt;
: 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).&lt;br /&gt;
&lt;br /&gt;
; Single class markup for common uses&lt;br /&gt;
: Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;. The simple microformats2 examples above demonstrate these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parsing each prefix (including generating canonical JSON) is detailed step-by-step in:&lt;br /&gt;
* The '''[[microformats2-parsing|microformats2 parsing specification]]'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Most properties are specified and used with a single specific prefix (or occasionally two or three) that is self-evident from context. However, any parsing prefix can be used with any property, especially if you find a good reason to do so!&lt;br /&gt;
&lt;br /&gt;
== v2 vocabularies ==&lt;br /&gt;
Status: '''&amp;lt;span id=&amp;quot;draft_v2_vocabularies&amp;quot;&amp;gt;draft&amp;lt;/span&amp;gt;'''. Please review and provide feedback in [[IRC]].&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-item]]&lt;br /&gt;
* [[h-listing]]&lt;br /&gt;
* [[h-product]]&lt;br /&gt;
* [[h-recipe]]&lt;br /&gt;
* [[h-resume]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[h-review-aggregate]]&lt;br /&gt;
&lt;br /&gt;
See below for vocabulary summaries.&lt;br /&gt;
&lt;br /&gt;
=== h-adr ===&lt;br /&gt;
{{main|h-adr}}&lt;br /&gt;
&lt;br /&gt;
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-adr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;adr&amp;quot;&amp;gt;adr&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;post-office-box&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-card ===&lt;br /&gt;
{{main|h-card}}&lt;br /&gt;
&lt;br /&gt;
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-card&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-prefix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-given-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-additional-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-family-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sort-string&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-suffix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nickname&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-logo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-adr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tel&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-note&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-key&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-org&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-job-title&amp;lt;/code&amp;gt;''' - previously 'title' in hCard, disambiguated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-role&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-impp&amp;lt;/code&amp;gt;''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sex&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-gender-identity&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-anniversary&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved properties: (properties not used much (if at all) in practice)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-unit&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tz&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-rev&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-card&amp;quot; is found, don't look for a &amp;quot;vcard&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vcard&amp;quot;&amp;gt;vcard&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-prefix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;given-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;additional-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;family-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-suffix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;logo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-adr h-adr&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bday&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;org&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-unit&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; - parse as '''p-job-title'''&lt;br /&gt;
* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:&lt;br /&gt;
* &amp;lt;code&amp;gt;tz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== h-entry ===&lt;br /&gt;
{{main|h-entry}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-entry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' (was p-entry-title, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' (was p-entry-summary, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (was e-entry-content, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hAtom]]. &lt;br /&gt;
&lt;br /&gt;
Brainstorming:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-video&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - for links to other posts that this post is a reply to (comment regarding, etc.)&lt;br /&gt;
&lt;br /&gt;
Backward compatibility: &lt;br /&gt;
&lt;br /&gt;
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For hAtom backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-entry&amp;quot; is found, don't look for a &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;h-entry-faq&amp;quot;&amp;gt;FAQ:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [http://indiewebcamp.com/note note]?'''&lt;br /&gt;
** A few options, from simplest to most detailed.&lt;br /&gt;
*** '''same as the p-content/e-content''' property.&lt;br /&gt;
*** '''same as the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
*** '''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 &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolved Issues:&lt;br /&gt;
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;p-entry-summary&amp;lt;/code&amp;gt;'''. The historical semantic of &amp;quot;entry-summary&amp;quot; is not different from &amp;quot;summary&amp;quot; in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;e-entry-content&amp;lt;/code&amp;gt;'''. Same point and advantage. In microformats2, entry-content is no more.&lt;br /&gt;
** '''drop &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;'''. Unnecessary and subsumed by &amp;quot;p-name&amp;quot;. Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.&lt;br /&gt;
&lt;br /&gt;
=== h-event ===&lt;br /&gt;
{{main|h-event}}&lt;br /&gt;
&lt;br /&gt;
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-event&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''(*)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hCalendar]]. &lt;br /&gt;
&lt;br /&gt;
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== h-geo ===&lt;br /&gt;
{{main|h-geo}}&lt;br /&gt;
&lt;br /&gt;
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-geo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;geo&amp;quot;&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-item ===&lt;br /&gt;
{{main|h-item}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-item&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of &amp;quot;h-item&amp;quot; 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 &amp;quot;h-item&amp;quot; and its contained content/elements if any).&lt;br /&gt;
&lt;br /&gt;
=== h-product ===&lt;br /&gt;
{{main|h-product}}&lt;br /&gt;
&lt;br /&gt;
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-product&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-product&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-brand&amp;lt;/code&amp;gt;''' - manufacturer, can also be a nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-identifier&amp;lt;/code&amp;gt;''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-review&amp;lt;/code&amp;gt;''' - a review of the product, can also be a nested &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-price&amp;lt;/code&amp;gt;''' - retail price of the product&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-product&amp;quot; is found, don't look for an &amp;quot;hproduct&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hproduct&amp;quot;&amp;gt;hproduct&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;brand&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;review&amp;lt;/code&amp;gt; - including compat root class &amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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'''&lt;br /&gt;
&lt;br /&gt;
=== h-recipe ===&lt;br /&gt;
{{main|h-recipe}}&lt;br /&gt;
&lt;br /&gt;
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-recipe&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-recipe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - the name of the recipe&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-ingredient&amp;lt;/code&amp;gt;''' - describes one or more ingredients used in the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-yield&amp;lt;/code&amp;gt;''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-instructions&amp;lt;/code&amp;gt;''' - the method of the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - the time it takes to prepare the meal described by the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - an accompanying image&lt;br /&gt;
&lt;br /&gt;
Experimental properties with wide adoption&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''  - provides a short summary or introduction &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - the person who wrote the recipe with &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - the date the recipe was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nutrition&amp;lt;/code&amp;gt;''' - nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-recipe&amp;quot; is found, don't look for an &amp;quot;hrecipe&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hrecipe&amp;quot;&amp;gt;hrecipe&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== h-resume ===&lt;br /&gt;
{{main|h-resume}}&lt;br /&gt;
&lt;br /&gt;
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-resume&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-resume&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - overview of qualifications and objectives&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-contact&amp;lt;/code&amp;gt;''' - current contact info in an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-education&amp;lt;/code&amp;gt;''' - an education &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the school, location.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-experience&amp;lt;/code&amp;gt;''' - a job or other professional experience &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the organization, location, job-title.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-skill&amp;lt;/code&amp;gt;''' - a skill or ability, optionally including level and/or duration of experience&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-affiliation&amp;lt;/code&amp;gt;''' - an affiliation with an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; organization&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-resume&amp;quot; is found, don't look for an &amp;quot;hresume&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hresume&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;education&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;experience&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;affiliation&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== h-review ===&lt;br /&gt;
{{main|h-review}}&lt;br /&gt;
&lt;br /&gt;
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt;''' - person who authored the review &lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt;''' - date time of when the review was written&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hreview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview&amp;quot;&amp;gt;hreview&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== h-review-aggregate ===&lt;br /&gt;
{{main|h-review-aggregate}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review-aggregate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating average rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - number of reviews aggregated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - number of reviewers who have rated the product, thus contributing to the average rating.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review-aggregate&amp;quot; is found, don't look for an &amp;quot;hreview-aggregate&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab notes ===&lt;br /&gt;
Notes: &lt;br /&gt;
* 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 &amp;quot;p-&amp;quot;, &amp;quot;u-&amp;quot;, &amp;quot;dt-&amp;quot;, &amp;quot;e-&amp;quot; are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.&lt;br /&gt;
* Profile URLs are provided for use with the HTML4 &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute, microdata &amp;lt;code&amp;gt;itemtype&amp;lt;/code&amp;gt; attribute, and RDFa &amp;lt;code&amp;gt;vocab&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;typeof&amp;lt;/code&amp;gt; attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). &lt;br /&gt;
* microformats2 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.&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab to-do ===&lt;br /&gt;
To do: &lt;br /&gt;
* write a simple tutorial for creating/getting started with microformats-2 markup for new content&lt;br /&gt;
* examples in each h-* spec listed above of how to embed other microformats in them&lt;br /&gt;
* actual profile documents at &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-*&amp;lt;/nowiki&amp;gt; URLs mentioned above.&lt;br /&gt;
* 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.&lt;br /&gt;
* write a porting guide mapping v1 property -&amp;gt; v2 property&lt;br /&gt;
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).&lt;br /&gt;
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
== combining microformats ==&lt;br /&gt;
Since microformats2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.&lt;br /&gt;
&lt;br /&gt;
=== h-event location h-card ===&lt;br /&gt;
Events commonly have venue information with additional structure, like address information. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot; href=&amp;quot;http://indiewebcamp.com/2012&amp;quot;&amp;gt;&lt;br /&gt;
    IndieWebCamp 2012&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
  from &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2012-06-30&amp;lt;/time&amp;gt; &lt;br /&gt;
  to &amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; at &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-name p-org u-url&amp;quot; href=&amp;quot;http://geoloqi.com/&amp;quot;&amp;gt;&lt;br /&gt;
      Geoloqi&lt;br /&gt;
    &amp;lt;/a&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;920 SW 3rd Ave. Suite 400&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Portland&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;p-region&amp;quot; title=&amp;quot;Oregon&amp;quot;&amp;gt;OR&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested h-card used to structure the p-location of the h-event is represented as a structured value for &amp;quot;location&amp;quot; in the JSON, which has an additional key, &amp;quot;value&amp;quot; that represents the plain text version parsed from the p-location.&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-event&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;IndieWebCamp 2012&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://indiewebcamp.com/2012&amp;quot;],&lt;br /&gt;
      &amp;quot;start&amp;quot;: [&amp;quot;2012-06-30&amp;quot;],&lt;br /&gt;
      &amp;quot;end&amp;quot;: [&amp;quot;2012-07-01&amp;quot;],&lt;br /&gt;
      &amp;quot;location&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Geoloqi&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;org&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://geoloqi.com/&amp;quot;],&lt;br /&gt;
          &amp;quot;street-address&amp;quot;: [&amp;quot;920 SW 3rd Ave. Suite 400&amp;quot;],&lt;br /&gt;
          &amp;quot;locality&amp;quot;: [&amp;quot;Portland&amp;quot;],&lt;br /&gt;
          &amp;quot;region&amp;quot;: [&amp;quot;Oregon&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)&lt;br /&gt;
** 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?)&lt;br /&gt;
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** 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)&lt;br /&gt;
** 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)&lt;br /&gt;
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of its &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== h-card org h-card ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)&lt;br /&gt;
&lt;br /&gt;
with source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes such organization affiliations are hyperlinked to the website of the organization:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])&lt;br /&gt;
&lt;br /&gt;
You can mark that up with a nested h-card:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; would.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card h-org&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;, &amp;quot;h-org&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;,&amp;quot;h-org&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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').&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
Or the nested object could be only marked up with 'h-card'. Source:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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].'''&lt;br /&gt;
&lt;br /&gt;
== authoring ==&lt;br /&gt;
=== minimal markup ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.&lt;br /&gt;
&lt;br /&gt;
Simple hCards work just by adding &amp;lt;code&amp;gt;class=&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img class=&amp;quot;h-card&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
     src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Tantek Çelik&amp;quot; src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tip: Inside an open tag, put the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute &amp;lt;em&amp;gt;first&amp;lt;/em&amp;gt;, then any human text content attributes (e.g. &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;), then URL attributes (e.g. &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;), and lastly other attributes (e.g. &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt;). 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.&lt;br /&gt;
&lt;br /&gt;
=== backward compatible ===&lt;br /&gt;
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats2]], you can include both existing classic microformats and microformats2 markup.&lt;br /&gt;
&lt;br /&gt;
In short: use both sets of class names simultaneously. &lt;br /&gt;
&lt;br /&gt;
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.&lt;br /&gt;
&lt;br /&gt;
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;) to separate the root class name element from explicit property class name elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn u-url url&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
       src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url url&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Tantek Çelik&amp;quot; &lt;br /&gt;
         src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* use the microformats-2 class name first, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;h-card vcard&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* and pair them when using an element for multiple properties, e.g.:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-photo photo&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;event-page h-event vevent&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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?]]&lt;br /&gt;
&lt;br /&gt;
== extensions ==&lt;br /&gt;
microformats2 is extensible by means of two separate but syntactically similar extension prefixes for experiments intended to be iterated &amp;amp; evolved and for vendor specific extensions not intended for standardization.&lt;br /&gt;
&lt;br /&gt;
=== experimental extensions ===&lt;br /&gt;
There have been times when specific sites have wanted to extend microformats beyond the set of properties in the microformat vocabulary, 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:&lt;br /&gt;
&lt;br /&gt;
For experimental extensions for the purpose of prototyping to learn more, iterate, towards possibly standardizing, use the &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; prefix before root and property class names.&lt;br /&gt;
&lt;br /&gt;
Specifically: &lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; indicates a literal 'x' for an experimental extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;p-x-prep-time&amp;quot; - a possible experimental property name to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-experimental-properties]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;VENDOR_EXTENSIONS&amp;quot;&amp;gt;vendor extensions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
For vendor specific extensions, microformats2 uses a mechanism similar to CSS vendor extensions, using a similar syntax as experimental extensions, except with a vendor prefix instead of a literal 'x'.&lt;br /&gt;
&lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; 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-, numbers allowed after first character)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;h-bigco-one-ring&amp;quot; - a hypothetical &amp;quot;bigco&amp;quot; vendor-specific &amp;quot;one-ring&amp;quot; microformat root class name.&lt;br /&gt;
* &amp;quot;p-goog-preptime&amp;quot; - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's &amp;quot;preptime&amp;quot; property extension] to [[hRecipe]] (aside: &amp;quot;duration&amp;quot; may be another property type to consider separate from &amp;quot;datetime&amp;quot; as it may be subject to different parsing rules.)&lt;br /&gt;
&lt;br /&gt;
See [[vendor-prefixes]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== extensions background ===&lt;br /&gt;
This extensibility mechanism is a composition of the following (at least somewhat) successful extension syntaxes:&lt;br /&gt;
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]&lt;br /&gt;
* IETF MIME/content-type &amp;quot;x-*&amp;quot; extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]&lt;br /&gt;
* IETF MIME experimental fields (e.g. x-spam-score)&lt;br /&gt;
* HTTP header extensions (e.g. x-pingback)&lt;br /&gt;
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.&lt;br /&gt;
&lt;br /&gt;
Proprietary or experimental CSS3 property implementations have been very successful.&lt;br /&gt;
&lt;br /&gt;
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:&lt;br /&gt;
&lt;br /&gt;
* -moz-border-radius&lt;br /&gt;
* -webkit-border-radius&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This use of vendor specific CSS properties allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.&lt;br /&gt;
&lt;br /&gt;
The benefits have been two-fold:&lt;br /&gt;
* designers have been able to make more attractive sites sooner (at least in some browsers)&lt;br /&gt;
* features have been market / real-world tested before being fully standardized, thus resulting in better features&lt;br /&gt;
&lt;br /&gt;
Implementers have used/introduced &amp;quot;x-&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])&lt;br /&gt;
* x-spam-score (in email headers)&lt;br /&gt;
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])&lt;br /&gt;
&lt;br /&gt;
Some standard types started as experimental &amp;quot;x-&amp;quot; types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:&lt;br /&gt;
&lt;br /&gt;
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-origins#VENDOR_EXTENSIONS]] for more background.&lt;br /&gt;
&lt;br /&gt;
== validators ==&lt;br /&gt;
microformats2 validators:&lt;br /&gt;
&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
* https://pin13.net/mf2/&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
&lt;br /&gt;
See the [[validators]] page for a longer list of validators.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* Ashton McAllan marks up her blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [https://acegiak.net/ acegiak.net]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&amp;amp;utm_medium=h-card&amp;amp;utm_campaign=Microformats eugenbusoiu.com]]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&amp;amp;utm_content=buffere4d40&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer sinolandquality.com]&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].&lt;br /&gt;
* 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].&lt;br /&gt;
* [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.&lt;br /&gt;
* [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].&lt;br /&gt;
** 2013-01-25 Barnaby Walters: &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]&amp;lt;/cite&amp;gt; - describes how he's using microformats2 vocabularies: &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;, and experimental vocabularies: &amp;lt;code&amp;gt;h-feed&amp;lt;/code&amp;gt; (embedded for update histories), [[activity-streams]] objects &amp;lt;code&amp;gt;h-as-article&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-collection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-note&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-update&amp;lt;/code&amp;gt;, as well as experimental properties: &amp;lt;code&amp;gt;u-alternate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-as-downstream-duplicate&amp;lt;/code&amp;gt; (links to POSSE copies), and &amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt; (links to content that the posts are in reply to). &lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.&lt;br /&gt;
* [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&lt;br /&gt;
* 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&amp;amp;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]&lt;br /&gt;
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
=== Live Textarea Input ===&lt;br /&gt;
Use any of these to enter HTML+microformats2 markup and see the parsed result!&lt;br /&gt;
* http://glennjones.net/tools/microformats/&lt;br /&gt;
* https://pin13.net/mf2/ (where it says &amp;quot;Microformats Parser&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Blogging tools ===&lt;br /&gt;
* '''Storytlr''' parses the &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; 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://web.archive.org/web/20130425010536/http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post] (archived; [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html original]).&lt;br /&gt;
** Note: per storytlr.org, retrieved 2022-05-22:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Storytlr is no longer maintained and '''might be unsafe to run on a public server'''. It is running on an old version of PHP and the Zend framework and has not been upgraded to latest versions and security patches.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* '''[https://github.com/snarfed/granary granary]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]], [[microformats2]], and Atom (all directions). Supported silos include Facebook, Twitter, Instagram, Google+, and Flickr. 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.&lt;br /&gt;
&lt;br /&gt;
* '''[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])&lt;br /&gt;
&lt;br /&gt;
* '''[https://xray.p3k.io XRay]''' ([https://github.com/aaronpk/XRay source code]) - Returns a normalized representation of the microformats data at a URL&lt;br /&gt;
&lt;br /&gt;
=== Parsers ===&lt;br /&gt;
Parsers, open source libraries, in alphabetical order by programming language:&lt;br /&gt;
&lt;br /&gt;
If you are implementing a microformats2 parser, see:&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
&lt;br /&gt;
==== Parsers in production ====&lt;br /&gt;
The following parsers are of very high quality, in active development, and use on live sites on the web in production.&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* [[any23]] Apache Any23 (Anything to Triples)] a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents: http://any23.apache.org&lt;br /&gt;
&lt;br /&gt;
===== Javascript =====&lt;br /&gt;
* '''microformats-parser''' for both browser and node.js&lt;br /&gt;
** github open source: https://github.com/aimee-gm/microformats-parser (current)&lt;br /&gt;
** live: https://aimee-gm.github.io/microformats-parser/&lt;br /&gt;
&lt;br /&gt;
Previously:&lt;br /&gt;
* '''microformat-node''' Node.js microformats2 parser&lt;br /&gt;
** github open source: https://github.com/microformats/microformat-node (current)&lt;br /&gt;
*** forked from https://github.com/glennjones/microformat-node&lt;br /&gt;
** test suite: https://github.com/microformats/tests&lt;br /&gt;
&amp;lt;!-- glennjones.net expired SSL cert as of 2018-358 or earlier&lt;br /&gt;
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/&lt;br /&gt;
** live: http://glennjones.net/tools/microformats/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
** command line: https://github.com/JerrySievert/mf2&lt;br /&gt;
* '''microformat-shiv'''  - cross browser javascript microformats2 parser which can also be used in browser extensions.&lt;br /&gt;
&amp;lt;!-- ** http://microformatshiv.com/  Unresponsive 2018-358  or earlier --&amp;gt;&lt;br /&gt;
** github open source: https://github.com/glennjones/microformat-shiv&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
* '''&amp;lt;span id=&amp;quot;php-mf2&amp;quot;&amp;gt;php-mf2&amp;lt;/span&amp;gt;''' - PHP microformats2 parser&lt;br /&gt;
** github open source: https://github.com/indieweb/php-mf2&lt;br /&gt;
** Packagist: https://packagist.org/packages/mf2/mf2&lt;br /&gt;
** live: &lt;br /&gt;
*** textarea entry: http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
*** URL and textarea entry: https://pin13.net/mf2/&lt;br /&gt;
** [https://github.com/barnabywalters/php-mf-cleaner mf-cleaner]: functions for working with the raw mf2 data structure&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
* '''mf2py''' Python microformats2 parser&lt;br /&gt;
** main entry: [[mf2py]]&lt;br /&gt;
** github open source: https://github.com/tommorris/mf2py&lt;br /&gt;
** live: &lt;br /&gt;
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]&lt;br /&gt;
*** textarea entry: https://kartikprabhu.com/connection/mfparser&lt;br /&gt;
*** another textarea: http://www.unmung.com/?html=&lt;br /&gt;
*** URL and/or textarea: https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
===== Ruby =====&lt;br /&gt;
* '''indieweb/microformats-ruby''' Ruby microformats parser&lt;br /&gt;
** github open source: https://github.com/indieweb/microformats-ruby&lt;br /&gt;
** live text entry: https://microformats-parser-ruby.herokuapp.com&lt;br /&gt;
&lt;br /&gt;
===== Haskell =====&lt;br /&gt;
* '''myfreeweb/microformats2-parser''' Haskell microformats2 parser&lt;br /&gt;
** github open source: https://github.com/myfreeweb/microformats2-parser&lt;br /&gt;
** live textarea entry: https://unrelenting.technology/mf2/&lt;br /&gt;
&lt;br /&gt;
==== Development parsers ====&lt;br /&gt;
The following parsers are in-development and have key microformats2 functionality yet are incomplete, not fully tested, or have other limitations. Contributions welcome!&lt;br /&gt;
&lt;br /&gt;
===== Erlang =====&lt;br /&gt;
* '''hazybluedot/mf2erl''' Erlang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/hazybluedot/mf2erl&lt;br /&gt;
&lt;br /&gt;
===== Elixir =====&lt;br /&gt;
* '''ckruse/microformats-elixir''' Elixir microformats2 parser&lt;br /&gt;
** github open source: https://github.com/ckruse/microformats2-elixir&lt;br /&gt;
&lt;br /&gt;
===== Go =====&lt;br /&gt;
* '''willnorris/microformats''' Golang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/willnorris/microformats&lt;br /&gt;
** live textarea entry: https://go.microformats.io/&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* '''Apache Any23''' a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents. Supports Microformats1 and 2.&lt;br /&gt;
** Download recent release: http://any23.apache.org/download.html&lt;br /&gt;
** live: http://any23-vm.apache.org/&lt;br /&gt;
** source: http://any23.apache.org/build-src.html&lt;br /&gt;
* '''mf2j''' An early-stage Java microformats2 parser&lt;br /&gt;
** github open source: https://github.com/kylewm/mf2j&lt;br /&gt;
** live: https://mf2j.herokuapp.com/?url={http://example.com}&lt;br /&gt;
&lt;br /&gt;
===== Perl =====&lt;br /&gt;
* '''Web::Microformats2''' Perl microformats2 parser&lt;br /&gt;
** https://metacpan.org/pod/Web::Microformats2&lt;br /&gt;
** open source: https://github.com/jmacdotorg/microformats2-perl&lt;br /&gt;
&lt;br /&gt;
==== Experiments ====&lt;br /&gt;
Experiments and other proof of concept microformat2 parsing support.&lt;br /&gt;
* '''Rust''' - https://gitlab.com/maxburon/microformats-parser&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Outreach ===&lt;br /&gt;
* [https://github.com/mozilla/fathom/issues/42 Mozilla Fathom:  examples with nested classes, e.g. microformats2]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
Presentations about microformats2:&lt;br /&gt;
* 2013-01-24 &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]&amp;lt;/cite&amp;gt; presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.&lt;br /&gt;
* 2012-09-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp;amp;amp; bits of HTML5: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.&lt;br /&gt;
* 2012-07-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
* 2012-07-14 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Testimonials ==&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;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 &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... But damn Microformats2 are sexy. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
This page was originally used to brainstorm and develop microformats2 in an exploratory manner, with problem statements, questions, lessons learned from past and other formats.&lt;br /&gt;
&lt;br /&gt;
Now that [[microformats2-parsing]] is a Microformats specification, the original brainstorming has been moved to a separate page for anyone who wants to understand more about how we came up with the design of microformats2, and how it evolved in the early years.&lt;br /&gt;
* [[microformats2-origins]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.&lt;br /&gt;
* [[microformats2-experimental-properties]] - listing experimental (-x- prefixed) properties and their use&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[vendor-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70682</id>
		<title>microformats2</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70682"/>
		<updated>2024-03-01T18:48:01Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Live Textarea Input */ rm kylewm link, zombie domain :(&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
Welcome to the microformats2 home page.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Microformats2 is the latest version of microformats, the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for &amp;lt;em&amp;gt;both&amp;lt;/em&amp;gt; authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).&lt;br /&gt;
&lt;br /&gt;
Microformats2 replaces and supersedes both classic microformats (sometimes called microformats1), as well as incorporates lessons learned from [[microdata]] and [[RDFa]].&lt;br /&gt;
&lt;br /&gt;
=== simple microformats2 examples ===&lt;br /&gt;
Here are a few &amp;lt;span id=&amp;quot;simple_microformats_2_examples&amp;quot;&amp;gt;simple microformats2 examples&amp;lt;/span&amp;gt; along with canonical [[JSON]].&lt;br /&gt;
&lt;br /&gt;
==== person example ====&lt;br /&gt;
* Simple person reference:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Frances Berriman&amp;quot;] &lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person ====&lt;br /&gt;
* Simple hyperlinked person reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Ben Ward&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://benward.me&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person image ====&lt;br /&gt;
* Simple hyperlinked person image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://rohit.khare.org/&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Rohit Khare&amp;quot;&lt;br /&gt;
      src=&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Rohit Khare&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://rohit.khare.org/&amp;quot;],&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple cases details in [[microformats-2-implied-properties]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== detailed person example ====&lt;br /&gt;
* More detailed person&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;u-photo&amp;quot; alt=&amp;quot;photo of Mitchell&amp;quot;&lt;br /&gt;
       src=&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt;&lt;br /&gt;
 (&amp;lt;a class=&amp;quot;u-url&amp;quot; &lt;br /&gt;
     href=&amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
    &amp;gt;@MitchellBaker&amp;lt;/a&amp;gt;)&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-note&amp;quot;&amp;gt;&lt;br /&gt;
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Strategy&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Leadership&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;],&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&lt;br /&gt;
        &amp;quot;http://blog.lizardwrangler.com/&amp;quot;,&lt;br /&gt;
        &amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
      &amp;quot;note&amp;quot;: [&amp;quot;Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&amp;quot;],&lt;br /&gt;
      &amp;quot;category&amp;quot;: [&lt;br /&gt;
        &amp;quot;Strategy&amp;quot;,&lt;br /&gt;
        &amp;quot;Leadership&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== details from examples ===&lt;br /&gt;
Details demonstrated by the examples:&lt;br /&gt;
# The JSON &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; uses the full microformat root class name (e.g. &amp;lt;code&amp;gt;&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt;) for consistent identification.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
=== microformats2 design ===&lt;br /&gt;
&lt;br /&gt;
microformats2 has the following key design aspects:&lt;br /&gt;
&lt;br /&gt;
; Prefixes for class names&lt;br /&gt;
: All microformats class names use prefixes. Prefixes are '''syntax independent from vocabularies''', which are developed separately.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-*&amp;lt;/code&amp;gt; for root class names (e.g. &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; for plain text properties (e.g. &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;u-*&amp;lt;/code&amp;gt; for URL properties (e.g. &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-*&amp;lt;/code&amp;gt; for date/time properties (e.g. &amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;e-*&amp;lt;/code&amp;gt; for embedded markup properties (e.g. &amp;lt;code&amp;gt;e-note&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-prefixes]] for more details.&lt;br /&gt;
&lt;br /&gt;
; Flat sets of optional properties&lt;br /&gt;
: 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).&lt;br /&gt;
&lt;br /&gt;
; Single class markup for common uses&lt;br /&gt;
: Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;. The simple microformats2 examples above demonstrate these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parsing each prefix (including generating canonical JSON) is detailed step-by-step in:&lt;br /&gt;
* The '''[[microformats2-parsing|microformats2 parsing specification]]'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Most properties are specified and used with a single specific prefix (or occasionally two or three) that is self-evident from context. However, any parsing prefix can be used with any property, especially if you find a good reason to do so!&lt;br /&gt;
&lt;br /&gt;
== v2 vocabularies ==&lt;br /&gt;
Status: '''&amp;lt;span id=&amp;quot;draft_v2_vocabularies&amp;quot;&amp;gt;draft&amp;lt;/span&amp;gt;'''. Please review and provide feedback in [[IRC]].&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-item]]&lt;br /&gt;
* [[h-listing]]&lt;br /&gt;
* [[h-product]]&lt;br /&gt;
* [[h-recipe]]&lt;br /&gt;
* [[h-resume]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[h-review-aggregate]]&lt;br /&gt;
&lt;br /&gt;
See below for vocabulary summaries.&lt;br /&gt;
&lt;br /&gt;
=== h-adr ===&lt;br /&gt;
{{main|h-adr}}&lt;br /&gt;
&lt;br /&gt;
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-adr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;adr&amp;quot;&amp;gt;adr&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;post-office-box&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-card ===&lt;br /&gt;
{{main|h-card}}&lt;br /&gt;
&lt;br /&gt;
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-card&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-prefix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-given-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-additional-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-family-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sort-string&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-suffix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nickname&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-logo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-adr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tel&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-note&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-key&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-org&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-job-title&amp;lt;/code&amp;gt;''' - previously 'title' in hCard, disambiguated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-role&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-impp&amp;lt;/code&amp;gt;''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sex&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-gender-identity&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-anniversary&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved properties: (properties not used much (if at all) in practice)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-unit&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tz&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-rev&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-card&amp;quot; is found, don't look for a &amp;quot;vcard&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vcard&amp;quot;&amp;gt;vcard&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-prefix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;given-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;additional-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;family-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-suffix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;logo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-adr h-adr&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bday&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;org&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-unit&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; - parse as '''p-job-title'''&lt;br /&gt;
* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:&lt;br /&gt;
* &amp;lt;code&amp;gt;tz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== h-entry ===&lt;br /&gt;
{{main|h-entry}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-entry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' (was p-entry-title, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' (was p-entry-summary, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (was e-entry-content, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hAtom]]. &lt;br /&gt;
&lt;br /&gt;
Brainstorming:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-video&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - for links to other posts that this post is a reply to (comment regarding, etc.)&lt;br /&gt;
&lt;br /&gt;
Backward compatibility: &lt;br /&gt;
&lt;br /&gt;
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For hAtom backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-entry&amp;quot; is found, don't look for a &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;h-entry-faq&amp;quot;&amp;gt;FAQ:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [http://indiewebcamp.com/note note]?'''&lt;br /&gt;
** A few options, from simplest to most detailed.&lt;br /&gt;
*** '''same as the p-content/e-content''' property.&lt;br /&gt;
*** '''same as the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
*** '''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 &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolved Issues:&lt;br /&gt;
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;p-entry-summary&amp;lt;/code&amp;gt;'''. The historical semantic of &amp;quot;entry-summary&amp;quot; is not different from &amp;quot;summary&amp;quot; in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;e-entry-content&amp;lt;/code&amp;gt;'''. Same point and advantage. In microformats2, entry-content is no more.&lt;br /&gt;
** '''drop &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;'''. Unnecessary and subsumed by &amp;quot;p-name&amp;quot;. Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.&lt;br /&gt;
&lt;br /&gt;
=== h-event ===&lt;br /&gt;
{{main|h-event}}&lt;br /&gt;
&lt;br /&gt;
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-event&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''(*)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hCalendar]]. &lt;br /&gt;
&lt;br /&gt;
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== h-geo ===&lt;br /&gt;
{{main|h-geo}}&lt;br /&gt;
&lt;br /&gt;
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-geo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;geo&amp;quot;&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-item ===&lt;br /&gt;
{{main|h-item}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-item&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of &amp;quot;h-item&amp;quot; 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 &amp;quot;h-item&amp;quot; and its contained content/elements if any).&lt;br /&gt;
&lt;br /&gt;
=== h-product ===&lt;br /&gt;
{{main|h-product}}&lt;br /&gt;
&lt;br /&gt;
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-product&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-product&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-brand&amp;lt;/code&amp;gt;''' - manufacturer, can also be a nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-identifier&amp;lt;/code&amp;gt;''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-review&amp;lt;/code&amp;gt;''' - a review of the product, can also be a nested &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-price&amp;lt;/code&amp;gt;''' - retail price of the product&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-product&amp;quot; is found, don't look for an &amp;quot;hproduct&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hproduct&amp;quot;&amp;gt;hproduct&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;brand&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;review&amp;lt;/code&amp;gt; - including compat root class &amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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'''&lt;br /&gt;
&lt;br /&gt;
=== h-recipe ===&lt;br /&gt;
{{main|h-recipe}}&lt;br /&gt;
&lt;br /&gt;
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-recipe&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-recipe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - the name of the recipe&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-ingredient&amp;lt;/code&amp;gt;''' - describes one or more ingredients used in the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-yield&amp;lt;/code&amp;gt;''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-instructions&amp;lt;/code&amp;gt;''' - the method of the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - the time it takes to prepare the meal described by the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - an accompanying image&lt;br /&gt;
&lt;br /&gt;
Experimental properties with wide adoption&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''  - provides a short summary or introduction &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - the person who wrote the recipe with &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - the date the recipe was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nutrition&amp;lt;/code&amp;gt;''' - nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-recipe&amp;quot; is found, don't look for an &amp;quot;hrecipe&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hrecipe&amp;quot;&amp;gt;hrecipe&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== h-resume ===&lt;br /&gt;
{{main|h-resume}}&lt;br /&gt;
&lt;br /&gt;
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-resume&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-resume&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - overview of qualifications and objectives&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-contact&amp;lt;/code&amp;gt;''' - current contact info in an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-education&amp;lt;/code&amp;gt;''' - an education &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the school, location.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-experience&amp;lt;/code&amp;gt;''' - a job or other professional experience &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the organization, location, job-title.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-skill&amp;lt;/code&amp;gt;''' - a skill or ability, optionally including level and/or duration of experience&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-affiliation&amp;lt;/code&amp;gt;''' - an affiliation with an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; organization&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-resume&amp;quot; is found, don't look for an &amp;quot;hresume&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hresume&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;education&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;experience&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;affiliation&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== h-review ===&lt;br /&gt;
{{main|h-review}}&lt;br /&gt;
&lt;br /&gt;
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt;''' - person who authored the review &lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt;''' - date time of when the review was written&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hreview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview&amp;quot;&amp;gt;hreview&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== h-review-aggregate ===&lt;br /&gt;
{{main|h-review-aggregate}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review-aggregate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating average rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - number of reviews aggregated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - number of reviewers who have rated the product, thus contributing to the average rating.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review-aggregate&amp;quot; is found, don't look for an &amp;quot;hreview-aggregate&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab notes ===&lt;br /&gt;
Notes: &lt;br /&gt;
* 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 &amp;quot;p-&amp;quot;, &amp;quot;u-&amp;quot;, &amp;quot;dt-&amp;quot;, &amp;quot;e-&amp;quot; are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.&lt;br /&gt;
* Profile URLs are provided for use with the HTML4 &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute, microdata &amp;lt;code&amp;gt;itemtype&amp;lt;/code&amp;gt; attribute, and RDFa &amp;lt;code&amp;gt;vocab&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;typeof&amp;lt;/code&amp;gt; attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). &lt;br /&gt;
* microformats2 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.&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab to-do ===&lt;br /&gt;
To do: &lt;br /&gt;
* write a simple tutorial for creating/getting started with microformats-2 markup for new content&lt;br /&gt;
* examples in each h-* spec listed above of how to embed other microformats in them&lt;br /&gt;
* actual profile documents at &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-*&amp;lt;/nowiki&amp;gt; URLs mentioned above.&lt;br /&gt;
* 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.&lt;br /&gt;
* write a porting guide mapping v1 property -&amp;gt; v2 property&lt;br /&gt;
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).&lt;br /&gt;
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
== combining microformats ==&lt;br /&gt;
Since microformats2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.&lt;br /&gt;
&lt;br /&gt;
=== h-event location h-card ===&lt;br /&gt;
Events commonly have venue information with additional structure, like address information. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot; href=&amp;quot;http://indiewebcamp.com/2012&amp;quot;&amp;gt;&lt;br /&gt;
    IndieWebCamp 2012&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
  from &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2012-06-30&amp;lt;/time&amp;gt; &lt;br /&gt;
  to &amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; at &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-name p-org u-url&amp;quot; href=&amp;quot;http://geoloqi.com/&amp;quot;&amp;gt;&lt;br /&gt;
      Geoloqi&lt;br /&gt;
    &amp;lt;/a&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;920 SW 3rd Ave. Suite 400&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Portland&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;p-region&amp;quot; title=&amp;quot;Oregon&amp;quot;&amp;gt;OR&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested h-card used to structure the p-location of the h-event is represented as a structured value for &amp;quot;location&amp;quot; in the JSON, which has an additional key, &amp;quot;value&amp;quot; that represents the plain text version parsed from the p-location.&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-event&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;IndieWebCamp 2012&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://indiewebcamp.com/2012&amp;quot;],&lt;br /&gt;
      &amp;quot;start&amp;quot;: [&amp;quot;2012-06-30&amp;quot;],&lt;br /&gt;
      &amp;quot;end&amp;quot;: [&amp;quot;2012-07-01&amp;quot;],&lt;br /&gt;
      &amp;quot;location&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Geoloqi&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;org&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://geoloqi.com/&amp;quot;],&lt;br /&gt;
          &amp;quot;street-address&amp;quot;: [&amp;quot;920 SW 3rd Ave. Suite 400&amp;quot;],&lt;br /&gt;
          &amp;quot;locality&amp;quot;: [&amp;quot;Portland&amp;quot;],&lt;br /&gt;
          &amp;quot;region&amp;quot;: [&amp;quot;Oregon&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)&lt;br /&gt;
** 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?)&lt;br /&gt;
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** 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)&lt;br /&gt;
** 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)&lt;br /&gt;
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of its &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== h-card org h-card ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)&lt;br /&gt;
&lt;br /&gt;
with source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes such organization affiliations are hyperlinked to the website of the organization:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])&lt;br /&gt;
&lt;br /&gt;
You can mark that up with a nested h-card:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; would.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card h-org&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;, &amp;quot;h-org&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;,&amp;quot;h-org&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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').&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
Or the nested object could be only marked up with 'h-card'. Source:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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].'''&lt;br /&gt;
&lt;br /&gt;
== authoring ==&lt;br /&gt;
=== minimal markup ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.&lt;br /&gt;
&lt;br /&gt;
Simple hCards work just by adding &amp;lt;code&amp;gt;class=&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img class=&amp;quot;h-card&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
     src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Tantek Çelik&amp;quot; src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tip: Inside an open tag, put the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute &amp;lt;em&amp;gt;first&amp;lt;/em&amp;gt;, then any human text content attributes (e.g. &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;), then URL attributes (e.g. &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;), and lastly other attributes (e.g. &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt;). 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.&lt;br /&gt;
&lt;br /&gt;
=== backward compatible ===&lt;br /&gt;
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats2]], you can include both existing classic microformats and microformats2 markup.&lt;br /&gt;
&lt;br /&gt;
In short: use both sets of class names simultaneously. &lt;br /&gt;
&lt;br /&gt;
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.&lt;br /&gt;
&lt;br /&gt;
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;) to separate the root class name element from explicit property class name elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn u-url url&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
       src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url url&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Tantek Çelik&amp;quot; &lt;br /&gt;
         src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* use the microformats-2 class name first, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;h-card vcard&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* and pair them when using an element for multiple properties, e.g.:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-photo photo&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;event-page h-event vevent&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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?]]&lt;br /&gt;
&lt;br /&gt;
== extensions ==&lt;br /&gt;
microformats2 is extensible by means of two separate but syntactically similar extension prefixes for experiments intended to be iterated &amp;amp; evolved and for vendor specific extensions not intended for standardization.&lt;br /&gt;
&lt;br /&gt;
=== experimental extensions ===&lt;br /&gt;
There have been times when specific sites have wanted to extend microformats beyond the set of properties in the microformat vocabulary, 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:&lt;br /&gt;
&lt;br /&gt;
For experimental extensions for the purpose of prototyping to learn more, iterate, towards possibly standardizing, use the &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; prefix before root and property class names.&lt;br /&gt;
&lt;br /&gt;
Specifically: &lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; indicates a literal 'x' for an experimental extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;p-x-prep-time&amp;quot; - a possible experimental property name to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-experimental-properties]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;VENDOR_EXTENSIONS&amp;quot;&amp;gt;vendor extensions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
For vendor specific extensions, microformats2 uses a mechanism similar to CSS vendor extensions, using a similar syntax as experimental extensions, except with a vendor prefix instead of a literal 'x'.&lt;br /&gt;
&lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; 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-, numbers allowed after first character)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;h-bigco-one-ring&amp;quot; - a hypothetical &amp;quot;bigco&amp;quot; vendor-specific &amp;quot;one-ring&amp;quot; microformat root class name.&lt;br /&gt;
* &amp;quot;p-goog-preptime&amp;quot; - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's &amp;quot;preptime&amp;quot; property extension] to [[hRecipe]] (aside: &amp;quot;duration&amp;quot; may be another property type to consider separate from &amp;quot;datetime&amp;quot; as it may be subject to different parsing rules.)&lt;br /&gt;
&lt;br /&gt;
See [[vendor-prefixes]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== extensions background ===&lt;br /&gt;
This extensibility mechanism is a composition of the following (at least somewhat) successful extension syntaxes:&lt;br /&gt;
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]&lt;br /&gt;
* IETF MIME/content-type &amp;quot;x-*&amp;quot; extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]&lt;br /&gt;
* IETF MIME experimental fields (e.g. x-spam-score)&lt;br /&gt;
* HTTP header extensions (e.g. x-pingback)&lt;br /&gt;
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.&lt;br /&gt;
&lt;br /&gt;
Proprietary or experimental CSS3 property implementations have been very successful.&lt;br /&gt;
&lt;br /&gt;
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:&lt;br /&gt;
&lt;br /&gt;
* -moz-border-radius&lt;br /&gt;
* -webkit-border-radius&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This use of vendor specific CSS properties allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.&lt;br /&gt;
&lt;br /&gt;
The benefits have been two-fold:&lt;br /&gt;
* designers have been able to make more attractive sites sooner (at least in some browsers)&lt;br /&gt;
* features have been market / real-world tested before being fully standardized, thus resulting in better features&lt;br /&gt;
&lt;br /&gt;
Implementers have used/introduced &amp;quot;x-&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])&lt;br /&gt;
* x-spam-score (in email headers)&lt;br /&gt;
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])&lt;br /&gt;
&lt;br /&gt;
Some standard types started as experimental &amp;quot;x-&amp;quot; types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:&lt;br /&gt;
&lt;br /&gt;
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-origins#VENDOR_EXTENSIONS]] for more background.&lt;br /&gt;
&lt;br /&gt;
== validators ==&lt;br /&gt;
microformats2 validators:&lt;br /&gt;
&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
* https://pin13.net/mf2/&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
&lt;br /&gt;
See the [[validators]] page for a longer list of validators.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* Ashton McAllan marks up her blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [https://acegiak.net/ acegiak.net]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&amp;amp;utm_medium=h-card&amp;amp;utm_campaign=Microformats eugenbusoiu.com]]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&amp;amp;utm_content=buffere4d40&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer sinolandquality.com]&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].&lt;br /&gt;
* 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].&lt;br /&gt;
* [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.&lt;br /&gt;
* [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].&lt;br /&gt;
** 2013-01-25 Barnaby Walters: &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]&amp;lt;/cite&amp;gt; - describes how he's using microformats2 vocabularies: &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;, and experimental vocabularies: &amp;lt;code&amp;gt;h-feed&amp;lt;/code&amp;gt; (embedded for update histories), [[activity-streams]] objects &amp;lt;code&amp;gt;h-as-article&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-collection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-note&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-update&amp;lt;/code&amp;gt;, as well as experimental properties: &amp;lt;code&amp;gt;u-alternate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-as-downstream-duplicate&amp;lt;/code&amp;gt; (links to POSSE copies), and &amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt; (links to content that the posts are in reply to). &lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.&lt;br /&gt;
* [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&lt;br /&gt;
* 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&amp;amp;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]&lt;br /&gt;
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
=== Live Textarea Input ===&lt;br /&gt;
Use any of these to enter HTML+microformats2 markup and see the parsed result!&lt;br /&gt;
* http://glennjones.net/tools/microformats/&lt;br /&gt;
* https://pin13.net/mf2/ (where it says &amp;quot;Microformats Parser&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Blogging tools ===&lt;br /&gt;
* '''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].&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* '''[https://github.com/snarfed/granary granary]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]], [[microformats2]], and Atom (all directions). Supported silos include Facebook, Twitter, Instagram, Google+, and Flickr. 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.&lt;br /&gt;
&lt;br /&gt;
* '''[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])&lt;br /&gt;
&lt;br /&gt;
* '''[https://xray.p3k.io XRay]''' ([https://github.com/aaronpk/XRay source code]) - Returns a normalized representation of the microformats data at a URL&lt;br /&gt;
&lt;br /&gt;
=== Parsers ===&lt;br /&gt;
Parsers, open source libraries, in alphabetical order by programming language:&lt;br /&gt;
&lt;br /&gt;
If you are implementing a microformats2 parser, see:&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
&lt;br /&gt;
==== Parsers in production ====&lt;br /&gt;
The following parsers are of very high quality, in active development, and use on live sites on the web in production.&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* [[any23]] Apache Any23 (Anything to Triples)] a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents: http://any23.apache.org&lt;br /&gt;
&lt;br /&gt;
===== Javascript =====&lt;br /&gt;
* '''microformats-parser''' for both browser and node.js&lt;br /&gt;
** github open source: https://github.com/aimee-gm/microformats-parser (current)&lt;br /&gt;
** live: https://aimee-gm.github.io/microformats-parser/&lt;br /&gt;
&lt;br /&gt;
Previously:&lt;br /&gt;
* '''microformat-node''' Node.js microformats2 parser&lt;br /&gt;
** github open source: https://github.com/microformats/microformat-node (current)&lt;br /&gt;
*** forked from https://github.com/glennjones/microformat-node&lt;br /&gt;
** test suite: https://github.com/microformats/tests&lt;br /&gt;
&amp;lt;!-- glennjones.net expired SSL cert as of 2018-358 or earlier&lt;br /&gt;
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/&lt;br /&gt;
** live: http://glennjones.net/tools/microformats/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
** command line: https://github.com/JerrySievert/mf2&lt;br /&gt;
* '''microformat-shiv'''  - cross browser javascript microformats2 parser which can also be used in browser extensions.&lt;br /&gt;
&amp;lt;!-- ** http://microformatshiv.com/  Unresponsive 2018-358  or earlier --&amp;gt;&lt;br /&gt;
** github open source: https://github.com/glennjones/microformat-shiv&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
* '''&amp;lt;span id=&amp;quot;php-mf2&amp;quot;&amp;gt;php-mf2&amp;lt;/span&amp;gt;''' - PHP microformats2 parser&lt;br /&gt;
** github open source: https://github.com/indieweb/php-mf2&lt;br /&gt;
** Packagist: https://packagist.org/packages/mf2/mf2&lt;br /&gt;
** live: &lt;br /&gt;
*** textarea entry: http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
*** URL and textarea entry: https://pin13.net/mf2/&lt;br /&gt;
** [https://github.com/barnabywalters/php-mf-cleaner mf-cleaner]: functions for working with the raw mf2 data structure&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
* '''mf2py''' Python microformats2 parser&lt;br /&gt;
** main entry: [[mf2py]]&lt;br /&gt;
** github open source: https://github.com/tommorris/mf2py&lt;br /&gt;
** live: &lt;br /&gt;
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]&lt;br /&gt;
*** textarea entry: https://kartikprabhu.com/connection/mfparser&lt;br /&gt;
*** another textarea: http://www.unmung.com/?html=&lt;br /&gt;
*** URL and/or textarea: https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
===== Ruby =====&lt;br /&gt;
* '''indieweb/microformats-ruby''' Ruby microformats parser&lt;br /&gt;
** github open source: https://github.com/indieweb/microformats-ruby&lt;br /&gt;
** live text entry: https://microformats-parser-ruby.herokuapp.com&lt;br /&gt;
&lt;br /&gt;
===== Haskell =====&lt;br /&gt;
* '''myfreeweb/microformats2-parser''' Haskell microformats2 parser&lt;br /&gt;
** github open source: https://github.com/myfreeweb/microformats2-parser&lt;br /&gt;
** live textarea entry: https://unrelenting.technology/mf2/&lt;br /&gt;
&lt;br /&gt;
==== Development parsers ====&lt;br /&gt;
The following parsers are in-development and have key microformats2 functionality yet are incomplete, not fully tested, or have other limitations. Contributions welcome!&lt;br /&gt;
&lt;br /&gt;
===== Erlang =====&lt;br /&gt;
* '''hazybluedot/mf2erl''' Erlang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/hazybluedot/mf2erl&lt;br /&gt;
&lt;br /&gt;
===== Elixir =====&lt;br /&gt;
* '''ckruse/microformats-elixir''' Elixir microformats2 parser&lt;br /&gt;
** github open source: https://github.com/ckruse/microformats2-elixir&lt;br /&gt;
&lt;br /&gt;
===== Go =====&lt;br /&gt;
* '''willnorris/microformats''' Golang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/willnorris/microformats&lt;br /&gt;
** live textarea entry: https://go.microformats.io/&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* '''Apache Any23''' a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents. Supports Microformats1 and 2.&lt;br /&gt;
** Download recent release: http://any23.apache.org/download.html&lt;br /&gt;
** live: http://any23-vm.apache.org/&lt;br /&gt;
** source: http://any23.apache.org/build-src.html&lt;br /&gt;
* '''mf2j''' An early-stage Java microformats2 parser&lt;br /&gt;
** github open source: https://github.com/kylewm/mf2j&lt;br /&gt;
** live: https://mf2j.herokuapp.com/?url={http://example.com}&lt;br /&gt;
&lt;br /&gt;
===== Perl =====&lt;br /&gt;
* '''Web::Microformats2''' Perl microformats2 parser&lt;br /&gt;
** https://metacpan.org/pod/Web::Microformats2&lt;br /&gt;
** open source: https://github.com/jmacdotorg/microformats2-perl&lt;br /&gt;
&lt;br /&gt;
==== Experiments ====&lt;br /&gt;
Experiments and other proof of concept microformat2 parsing support.&lt;br /&gt;
* '''Rust''' - https://gitlab.com/maxburon/microformats-parser&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Outreach ===&lt;br /&gt;
* [https://github.com/mozilla/fathom/issues/42 Mozilla Fathom:  examples with nested classes, e.g. microformats2]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
Presentations about microformats2:&lt;br /&gt;
* 2013-01-24 &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]&amp;lt;/cite&amp;gt; presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.&lt;br /&gt;
* 2012-09-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp;amp;amp; bits of HTML5: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.&lt;br /&gt;
* 2012-07-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
* 2012-07-14 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Testimonials ==&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;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 &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... But damn Microformats2 are sexy. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
This page was originally used to brainstorm and develop microformats2 in an exploratory manner, with problem statements, questions, lessons learned from past and other formats.&lt;br /&gt;
&lt;br /&gt;
Now that [[microformats2-parsing]] is a Microformats specification, the original brainstorming has been moved to a separate page for anyone who wants to understand more about how we came up with the design of microformats2, and how it evolved in the early years.&lt;br /&gt;
* [[microformats2-origins]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.&lt;br /&gt;
* [[microformats2-experimental-properties]] - listing experimental (-x- prefixed) properties and their use&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[vendor-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70681</id>
		<title>microformats2</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70681"/>
		<updated>2024-03-01T18:46:28Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* Parsers */ +link to /microformats2-parsing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
Welcome to the microformats2 home page.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Microformats2 is the latest version of microformats, the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for &amp;lt;em&amp;gt;both&amp;lt;/em&amp;gt; authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).&lt;br /&gt;
&lt;br /&gt;
Microformats2 replaces and supersedes both classic microformats (sometimes called microformats1), as well as incorporates lessons learned from [[microdata]] and [[RDFa]].&lt;br /&gt;
&lt;br /&gt;
=== simple microformats2 examples ===&lt;br /&gt;
Here are a few &amp;lt;span id=&amp;quot;simple_microformats_2_examples&amp;quot;&amp;gt;simple microformats2 examples&amp;lt;/span&amp;gt; along with canonical [[JSON]].&lt;br /&gt;
&lt;br /&gt;
==== person example ====&lt;br /&gt;
* Simple person reference:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Frances Berriman&amp;quot;] &lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person ====&lt;br /&gt;
* Simple hyperlinked person reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Ben Ward&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://benward.me&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person image ====&lt;br /&gt;
* Simple hyperlinked person image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://rohit.khare.org/&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Rohit Khare&amp;quot;&lt;br /&gt;
      src=&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Rohit Khare&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://rohit.khare.org/&amp;quot;],&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple cases details in [[microformats-2-implied-properties]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== detailed person example ====&lt;br /&gt;
* More detailed person&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;u-photo&amp;quot; alt=&amp;quot;photo of Mitchell&amp;quot;&lt;br /&gt;
       src=&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt;&lt;br /&gt;
 (&amp;lt;a class=&amp;quot;u-url&amp;quot; &lt;br /&gt;
     href=&amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
    &amp;gt;@MitchellBaker&amp;lt;/a&amp;gt;)&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-note&amp;quot;&amp;gt;&lt;br /&gt;
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Strategy&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Leadership&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;],&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&lt;br /&gt;
        &amp;quot;http://blog.lizardwrangler.com/&amp;quot;,&lt;br /&gt;
        &amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
      &amp;quot;note&amp;quot;: [&amp;quot;Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&amp;quot;],&lt;br /&gt;
      &amp;quot;category&amp;quot;: [&lt;br /&gt;
        &amp;quot;Strategy&amp;quot;,&lt;br /&gt;
        &amp;quot;Leadership&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== details from examples ===&lt;br /&gt;
Details demonstrated by the examples:&lt;br /&gt;
# The JSON &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; uses the full microformat root class name (e.g. &amp;lt;code&amp;gt;&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt;) for consistent identification.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
=== microformats2 design ===&lt;br /&gt;
&lt;br /&gt;
microformats2 has the following key design aspects:&lt;br /&gt;
&lt;br /&gt;
; Prefixes for class names&lt;br /&gt;
: All microformats class names use prefixes. Prefixes are '''syntax independent from vocabularies''', which are developed separately.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-*&amp;lt;/code&amp;gt; for root class names (e.g. &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; for plain text properties (e.g. &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;u-*&amp;lt;/code&amp;gt; for URL properties (e.g. &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-*&amp;lt;/code&amp;gt; for date/time properties (e.g. &amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;e-*&amp;lt;/code&amp;gt; for embedded markup properties (e.g. &amp;lt;code&amp;gt;e-note&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-prefixes]] for more details.&lt;br /&gt;
&lt;br /&gt;
; Flat sets of optional properties&lt;br /&gt;
: 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).&lt;br /&gt;
&lt;br /&gt;
; Single class markup for common uses&lt;br /&gt;
: Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;. The simple microformats2 examples above demonstrate these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parsing each prefix (including generating canonical JSON) is detailed step-by-step in:&lt;br /&gt;
* The '''[[microformats2-parsing|microformats2 parsing specification]]'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Most properties are specified and used with a single specific prefix (or occasionally two or three) that is self-evident from context. However, any parsing prefix can be used with any property, especially if you find a good reason to do so!&lt;br /&gt;
&lt;br /&gt;
== v2 vocabularies ==&lt;br /&gt;
Status: '''&amp;lt;span id=&amp;quot;draft_v2_vocabularies&amp;quot;&amp;gt;draft&amp;lt;/span&amp;gt;'''. Please review and provide feedback in [[IRC]].&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-item]]&lt;br /&gt;
* [[h-listing]]&lt;br /&gt;
* [[h-product]]&lt;br /&gt;
* [[h-recipe]]&lt;br /&gt;
* [[h-resume]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[h-review-aggregate]]&lt;br /&gt;
&lt;br /&gt;
See below for vocabulary summaries.&lt;br /&gt;
&lt;br /&gt;
=== h-adr ===&lt;br /&gt;
{{main|h-adr}}&lt;br /&gt;
&lt;br /&gt;
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-adr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;adr&amp;quot;&amp;gt;adr&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;post-office-box&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-card ===&lt;br /&gt;
{{main|h-card}}&lt;br /&gt;
&lt;br /&gt;
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-card&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-prefix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-given-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-additional-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-family-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sort-string&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-suffix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nickname&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-logo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-adr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tel&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-note&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-key&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-org&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-job-title&amp;lt;/code&amp;gt;''' - previously 'title' in hCard, disambiguated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-role&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-impp&amp;lt;/code&amp;gt;''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sex&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-gender-identity&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-anniversary&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved properties: (properties not used much (if at all) in practice)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-unit&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tz&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-rev&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-card&amp;quot; is found, don't look for a &amp;quot;vcard&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vcard&amp;quot;&amp;gt;vcard&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-prefix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;given-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;additional-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;family-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-suffix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;logo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-adr h-adr&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bday&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;org&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-unit&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; - parse as '''p-job-title'''&lt;br /&gt;
* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:&lt;br /&gt;
* &amp;lt;code&amp;gt;tz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== h-entry ===&lt;br /&gt;
{{main|h-entry}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-entry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' (was p-entry-title, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' (was p-entry-summary, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (was e-entry-content, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hAtom]]. &lt;br /&gt;
&lt;br /&gt;
Brainstorming:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-video&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - for links to other posts that this post is a reply to (comment regarding, etc.)&lt;br /&gt;
&lt;br /&gt;
Backward compatibility: &lt;br /&gt;
&lt;br /&gt;
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For hAtom backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-entry&amp;quot; is found, don't look for a &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;h-entry-faq&amp;quot;&amp;gt;FAQ:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [http://indiewebcamp.com/note note]?'''&lt;br /&gt;
** A few options, from simplest to most detailed.&lt;br /&gt;
*** '''same as the p-content/e-content''' property.&lt;br /&gt;
*** '''same as the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
*** '''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 &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolved Issues:&lt;br /&gt;
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;p-entry-summary&amp;lt;/code&amp;gt;'''. The historical semantic of &amp;quot;entry-summary&amp;quot; is not different from &amp;quot;summary&amp;quot; in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;e-entry-content&amp;lt;/code&amp;gt;'''. Same point and advantage. In microformats2, entry-content is no more.&lt;br /&gt;
** '''drop &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;'''. Unnecessary and subsumed by &amp;quot;p-name&amp;quot;. Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.&lt;br /&gt;
&lt;br /&gt;
=== h-event ===&lt;br /&gt;
{{main|h-event}}&lt;br /&gt;
&lt;br /&gt;
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-event&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''(*)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hCalendar]]. &lt;br /&gt;
&lt;br /&gt;
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== h-geo ===&lt;br /&gt;
{{main|h-geo}}&lt;br /&gt;
&lt;br /&gt;
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-geo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;geo&amp;quot;&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-item ===&lt;br /&gt;
{{main|h-item}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-item&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of &amp;quot;h-item&amp;quot; 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 &amp;quot;h-item&amp;quot; and its contained content/elements if any).&lt;br /&gt;
&lt;br /&gt;
=== h-product ===&lt;br /&gt;
{{main|h-product}}&lt;br /&gt;
&lt;br /&gt;
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-product&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-product&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-brand&amp;lt;/code&amp;gt;''' - manufacturer, can also be a nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-identifier&amp;lt;/code&amp;gt;''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-review&amp;lt;/code&amp;gt;''' - a review of the product, can also be a nested &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-price&amp;lt;/code&amp;gt;''' - retail price of the product&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-product&amp;quot; is found, don't look for an &amp;quot;hproduct&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hproduct&amp;quot;&amp;gt;hproduct&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;brand&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;review&amp;lt;/code&amp;gt; - including compat root class &amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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'''&lt;br /&gt;
&lt;br /&gt;
=== h-recipe ===&lt;br /&gt;
{{main|h-recipe}}&lt;br /&gt;
&lt;br /&gt;
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-recipe&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-recipe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - the name of the recipe&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-ingredient&amp;lt;/code&amp;gt;''' - describes one or more ingredients used in the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-yield&amp;lt;/code&amp;gt;''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-instructions&amp;lt;/code&amp;gt;''' - the method of the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - the time it takes to prepare the meal described by the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - an accompanying image&lt;br /&gt;
&lt;br /&gt;
Experimental properties with wide adoption&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''  - provides a short summary or introduction &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - the person who wrote the recipe with &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - the date the recipe was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nutrition&amp;lt;/code&amp;gt;''' - nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-recipe&amp;quot; is found, don't look for an &amp;quot;hrecipe&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hrecipe&amp;quot;&amp;gt;hrecipe&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== h-resume ===&lt;br /&gt;
{{main|h-resume}}&lt;br /&gt;
&lt;br /&gt;
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-resume&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-resume&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - overview of qualifications and objectives&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-contact&amp;lt;/code&amp;gt;''' - current contact info in an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-education&amp;lt;/code&amp;gt;''' - an education &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the school, location.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-experience&amp;lt;/code&amp;gt;''' - a job or other professional experience &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the organization, location, job-title.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-skill&amp;lt;/code&amp;gt;''' - a skill or ability, optionally including level and/or duration of experience&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-affiliation&amp;lt;/code&amp;gt;''' - an affiliation with an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; organization&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-resume&amp;quot; is found, don't look for an &amp;quot;hresume&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hresume&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;education&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;experience&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;affiliation&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== h-review ===&lt;br /&gt;
{{main|h-review}}&lt;br /&gt;
&lt;br /&gt;
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt;''' - person who authored the review &lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt;''' - date time of when the review was written&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hreview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview&amp;quot;&amp;gt;hreview&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== h-review-aggregate ===&lt;br /&gt;
{{main|h-review-aggregate}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review-aggregate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating average rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - number of reviews aggregated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - number of reviewers who have rated the product, thus contributing to the average rating.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review-aggregate&amp;quot; is found, don't look for an &amp;quot;hreview-aggregate&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab notes ===&lt;br /&gt;
Notes: &lt;br /&gt;
* 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 &amp;quot;p-&amp;quot;, &amp;quot;u-&amp;quot;, &amp;quot;dt-&amp;quot;, &amp;quot;e-&amp;quot; are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.&lt;br /&gt;
* Profile URLs are provided for use with the HTML4 &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute, microdata &amp;lt;code&amp;gt;itemtype&amp;lt;/code&amp;gt; attribute, and RDFa &amp;lt;code&amp;gt;vocab&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;typeof&amp;lt;/code&amp;gt; attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). &lt;br /&gt;
* microformats2 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.&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab to-do ===&lt;br /&gt;
To do: &lt;br /&gt;
* write a simple tutorial for creating/getting started with microformats-2 markup for new content&lt;br /&gt;
* examples in each h-* spec listed above of how to embed other microformats in them&lt;br /&gt;
* actual profile documents at &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-*&amp;lt;/nowiki&amp;gt; URLs mentioned above.&lt;br /&gt;
* 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.&lt;br /&gt;
* write a porting guide mapping v1 property -&amp;gt; v2 property&lt;br /&gt;
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).&lt;br /&gt;
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
== combining microformats ==&lt;br /&gt;
Since microformats2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.&lt;br /&gt;
&lt;br /&gt;
=== h-event location h-card ===&lt;br /&gt;
Events commonly have venue information with additional structure, like address information. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot; href=&amp;quot;http://indiewebcamp.com/2012&amp;quot;&amp;gt;&lt;br /&gt;
    IndieWebCamp 2012&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
  from &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2012-06-30&amp;lt;/time&amp;gt; &lt;br /&gt;
  to &amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; at &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-name p-org u-url&amp;quot; href=&amp;quot;http://geoloqi.com/&amp;quot;&amp;gt;&lt;br /&gt;
      Geoloqi&lt;br /&gt;
    &amp;lt;/a&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;920 SW 3rd Ave. Suite 400&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Portland&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;p-region&amp;quot; title=&amp;quot;Oregon&amp;quot;&amp;gt;OR&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested h-card used to structure the p-location of the h-event is represented as a structured value for &amp;quot;location&amp;quot; in the JSON, which has an additional key, &amp;quot;value&amp;quot; that represents the plain text version parsed from the p-location.&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-event&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;IndieWebCamp 2012&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://indiewebcamp.com/2012&amp;quot;],&lt;br /&gt;
      &amp;quot;start&amp;quot;: [&amp;quot;2012-06-30&amp;quot;],&lt;br /&gt;
      &amp;quot;end&amp;quot;: [&amp;quot;2012-07-01&amp;quot;],&lt;br /&gt;
      &amp;quot;location&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Geoloqi&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;org&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://geoloqi.com/&amp;quot;],&lt;br /&gt;
          &amp;quot;street-address&amp;quot;: [&amp;quot;920 SW 3rd Ave. Suite 400&amp;quot;],&lt;br /&gt;
          &amp;quot;locality&amp;quot;: [&amp;quot;Portland&amp;quot;],&lt;br /&gt;
          &amp;quot;region&amp;quot;: [&amp;quot;Oregon&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)&lt;br /&gt;
** 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?)&lt;br /&gt;
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** 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)&lt;br /&gt;
** 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)&lt;br /&gt;
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of its &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== h-card org h-card ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)&lt;br /&gt;
&lt;br /&gt;
with source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes such organization affiliations are hyperlinked to the website of the organization:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])&lt;br /&gt;
&lt;br /&gt;
You can mark that up with a nested h-card:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; would.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card h-org&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;, &amp;quot;h-org&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;,&amp;quot;h-org&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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').&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
Or the nested object could be only marked up with 'h-card'. Source:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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].'''&lt;br /&gt;
&lt;br /&gt;
== authoring ==&lt;br /&gt;
=== minimal markup ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.&lt;br /&gt;
&lt;br /&gt;
Simple hCards work just by adding &amp;lt;code&amp;gt;class=&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img class=&amp;quot;h-card&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
     src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Tantek Çelik&amp;quot; src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tip: Inside an open tag, put the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute &amp;lt;em&amp;gt;first&amp;lt;/em&amp;gt;, then any human text content attributes (e.g. &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;), then URL attributes (e.g. &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;), and lastly other attributes (e.g. &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt;). 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.&lt;br /&gt;
&lt;br /&gt;
=== backward compatible ===&lt;br /&gt;
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats2]], you can include both existing classic microformats and microformats2 markup.&lt;br /&gt;
&lt;br /&gt;
In short: use both sets of class names simultaneously. &lt;br /&gt;
&lt;br /&gt;
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.&lt;br /&gt;
&lt;br /&gt;
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;) to separate the root class name element from explicit property class name elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn u-url url&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
       src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url url&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Tantek Çelik&amp;quot; &lt;br /&gt;
         src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* use the microformats-2 class name first, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;h-card vcard&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* and pair them when using an element for multiple properties, e.g.:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-photo photo&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;event-page h-event vevent&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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?]]&lt;br /&gt;
&lt;br /&gt;
== extensions ==&lt;br /&gt;
microformats2 is extensible by means of two separate but syntactically similar extension prefixes for experiments intended to be iterated &amp;amp; evolved and for vendor specific extensions not intended for standardization.&lt;br /&gt;
&lt;br /&gt;
=== experimental extensions ===&lt;br /&gt;
There have been times when specific sites have wanted to extend microformats beyond the set of properties in the microformat vocabulary, 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:&lt;br /&gt;
&lt;br /&gt;
For experimental extensions for the purpose of prototyping to learn more, iterate, towards possibly standardizing, use the &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; prefix before root and property class names.&lt;br /&gt;
&lt;br /&gt;
Specifically: &lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; indicates a literal 'x' for an experimental extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;p-x-prep-time&amp;quot; - a possible experimental property name to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-experimental-properties]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;VENDOR_EXTENSIONS&amp;quot;&amp;gt;vendor extensions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
For vendor specific extensions, microformats2 uses a mechanism similar to CSS vendor extensions, using a similar syntax as experimental extensions, except with a vendor prefix instead of a literal 'x'.&lt;br /&gt;
&lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; 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-, numbers allowed after first character)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;h-bigco-one-ring&amp;quot; - a hypothetical &amp;quot;bigco&amp;quot; vendor-specific &amp;quot;one-ring&amp;quot; microformat root class name.&lt;br /&gt;
* &amp;quot;p-goog-preptime&amp;quot; - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's &amp;quot;preptime&amp;quot; property extension] to [[hRecipe]] (aside: &amp;quot;duration&amp;quot; may be another property type to consider separate from &amp;quot;datetime&amp;quot; as it may be subject to different parsing rules.)&lt;br /&gt;
&lt;br /&gt;
See [[vendor-prefixes]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== extensions background ===&lt;br /&gt;
This extensibility mechanism is a composition of the following (at least somewhat) successful extension syntaxes:&lt;br /&gt;
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]&lt;br /&gt;
* IETF MIME/content-type &amp;quot;x-*&amp;quot; extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]&lt;br /&gt;
* IETF MIME experimental fields (e.g. x-spam-score)&lt;br /&gt;
* HTTP header extensions (e.g. x-pingback)&lt;br /&gt;
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.&lt;br /&gt;
&lt;br /&gt;
Proprietary or experimental CSS3 property implementations have been very successful.&lt;br /&gt;
&lt;br /&gt;
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:&lt;br /&gt;
&lt;br /&gt;
* -moz-border-radius&lt;br /&gt;
* -webkit-border-radius&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This use of vendor specific CSS properties allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.&lt;br /&gt;
&lt;br /&gt;
The benefits have been two-fold:&lt;br /&gt;
* designers have been able to make more attractive sites sooner (at least in some browsers)&lt;br /&gt;
* features have been market / real-world tested before being fully standardized, thus resulting in better features&lt;br /&gt;
&lt;br /&gt;
Implementers have used/introduced &amp;quot;x-&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])&lt;br /&gt;
* x-spam-score (in email headers)&lt;br /&gt;
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])&lt;br /&gt;
&lt;br /&gt;
Some standard types started as experimental &amp;quot;x-&amp;quot; types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:&lt;br /&gt;
&lt;br /&gt;
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-origins#VENDOR_EXTENSIONS]] for more background.&lt;br /&gt;
&lt;br /&gt;
== validators ==&lt;br /&gt;
microformats2 validators:&lt;br /&gt;
&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
* https://pin13.net/mf2/&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
&lt;br /&gt;
See the [[validators]] page for a longer list of validators.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* Ashton McAllan marks up her blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [https://acegiak.net/ acegiak.net]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&amp;amp;utm_medium=h-card&amp;amp;utm_campaign=Microformats eugenbusoiu.com]]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&amp;amp;utm_content=buffere4d40&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer sinolandquality.com]&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].&lt;br /&gt;
* 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].&lt;br /&gt;
* [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.&lt;br /&gt;
* [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].&lt;br /&gt;
** 2013-01-25 Barnaby Walters: &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]&amp;lt;/cite&amp;gt; - describes how he's using microformats2 vocabularies: &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;, and experimental vocabularies: &amp;lt;code&amp;gt;h-feed&amp;lt;/code&amp;gt; (embedded for update histories), [[activity-streams]] objects &amp;lt;code&amp;gt;h-as-article&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-collection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-note&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-update&amp;lt;/code&amp;gt;, as well as experimental properties: &amp;lt;code&amp;gt;u-alternate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-as-downstream-duplicate&amp;lt;/code&amp;gt; (links to POSSE copies), and &amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt; (links to content that the posts are in reply to). &lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.&lt;br /&gt;
* [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&lt;br /&gt;
* 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&amp;amp;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]&lt;br /&gt;
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
=== Live Textarea Input ===&lt;br /&gt;
Use any of these to enter HTML+microformats2 markup and see the parsed result!&lt;br /&gt;
* http://glennjones.net/tools/microformats/&lt;br /&gt;
* https://pin13.net/mf2/ (where it says &amp;quot;Microformats Parser&amp;quot;)&lt;br /&gt;
* https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
=== Blogging tools ===&lt;br /&gt;
* '''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].&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* '''[https://github.com/snarfed/granary granary]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]], [[microformats2]], and Atom (all directions). Supported silos include Facebook, Twitter, Instagram, Google+, and Flickr. 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.&lt;br /&gt;
&lt;br /&gt;
* '''[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])&lt;br /&gt;
&lt;br /&gt;
* '''[https://xray.p3k.io XRay]''' ([https://github.com/aaronpk/XRay source code]) - Returns a normalized representation of the microformats data at a URL&lt;br /&gt;
&lt;br /&gt;
=== Parsers ===&lt;br /&gt;
Parsers, open source libraries, in alphabetical order by programming language:&lt;br /&gt;
&lt;br /&gt;
If you are implementing a microformats2 parser, see:&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
&lt;br /&gt;
==== Parsers in production ====&lt;br /&gt;
The following parsers are of very high quality, in active development, and use on live sites on the web in production.&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* [[any23]] Apache Any23 (Anything to Triples)] a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents: http://any23.apache.org&lt;br /&gt;
&lt;br /&gt;
===== Javascript =====&lt;br /&gt;
* '''microformats-parser''' for both browser and node.js&lt;br /&gt;
** github open source: https://github.com/aimee-gm/microformats-parser (current)&lt;br /&gt;
** live: https://aimee-gm.github.io/microformats-parser/&lt;br /&gt;
&lt;br /&gt;
Previously:&lt;br /&gt;
* '''microformat-node''' Node.js microformats2 parser&lt;br /&gt;
** github open source: https://github.com/microformats/microformat-node (current)&lt;br /&gt;
*** forked from https://github.com/glennjones/microformat-node&lt;br /&gt;
** test suite: https://github.com/microformats/tests&lt;br /&gt;
&amp;lt;!-- glennjones.net expired SSL cert as of 2018-358 or earlier&lt;br /&gt;
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/&lt;br /&gt;
** live: http://glennjones.net/tools/microformats/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
** command line: https://github.com/JerrySievert/mf2&lt;br /&gt;
* '''microformat-shiv'''  - cross browser javascript microformats2 parser which can also be used in browser extensions.&lt;br /&gt;
&amp;lt;!-- ** http://microformatshiv.com/  Unresponsive 2018-358  or earlier --&amp;gt;&lt;br /&gt;
** github open source: https://github.com/glennjones/microformat-shiv&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
* '''&amp;lt;span id=&amp;quot;php-mf2&amp;quot;&amp;gt;php-mf2&amp;lt;/span&amp;gt;''' - PHP microformats2 parser&lt;br /&gt;
** github open source: https://github.com/indieweb/php-mf2&lt;br /&gt;
** Packagist: https://packagist.org/packages/mf2/mf2&lt;br /&gt;
** live: &lt;br /&gt;
*** textarea entry: http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
*** URL and textarea entry: https://pin13.net/mf2/&lt;br /&gt;
** [https://github.com/barnabywalters/php-mf-cleaner mf-cleaner]: functions for working with the raw mf2 data structure&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
* '''mf2py''' Python microformats2 parser&lt;br /&gt;
** main entry: [[mf2py]]&lt;br /&gt;
** github open source: https://github.com/tommorris/mf2py&lt;br /&gt;
** live: &lt;br /&gt;
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]&lt;br /&gt;
*** textarea entry: https://kartikprabhu.com/connection/mfparser&lt;br /&gt;
*** another textarea: http://www.unmung.com/?html=&lt;br /&gt;
*** URL and/or textarea: https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
===== Ruby =====&lt;br /&gt;
* '''indieweb/microformats-ruby''' Ruby microformats parser&lt;br /&gt;
** github open source: https://github.com/indieweb/microformats-ruby&lt;br /&gt;
** live text entry: https://microformats-parser-ruby.herokuapp.com&lt;br /&gt;
&lt;br /&gt;
===== Haskell =====&lt;br /&gt;
* '''myfreeweb/microformats2-parser''' Haskell microformats2 parser&lt;br /&gt;
** github open source: https://github.com/myfreeweb/microformats2-parser&lt;br /&gt;
** live textarea entry: https://unrelenting.technology/mf2/&lt;br /&gt;
&lt;br /&gt;
==== Development parsers ====&lt;br /&gt;
The following parsers are in-development and have key microformats2 functionality yet are incomplete, not fully tested, or have other limitations. Contributions welcome!&lt;br /&gt;
&lt;br /&gt;
===== Erlang =====&lt;br /&gt;
* '''hazybluedot/mf2erl''' Erlang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/hazybluedot/mf2erl&lt;br /&gt;
&lt;br /&gt;
===== Elixir =====&lt;br /&gt;
* '''ckruse/microformats-elixir''' Elixir microformats2 parser&lt;br /&gt;
** github open source: https://github.com/ckruse/microformats2-elixir&lt;br /&gt;
&lt;br /&gt;
===== Go =====&lt;br /&gt;
* '''willnorris/microformats''' Golang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/willnorris/microformats&lt;br /&gt;
** live textarea entry: https://go.microformats.io/&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* '''Apache Any23''' a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents. Supports Microformats1 and 2.&lt;br /&gt;
** Download recent release: http://any23.apache.org/download.html&lt;br /&gt;
** live: http://any23-vm.apache.org/&lt;br /&gt;
** source: http://any23.apache.org/build-src.html&lt;br /&gt;
* '''mf2j''' An early-stage Java microformats2 parser&lt;br /&gt;
** github open source: https://github.com/kylewm/mf2j&lt;br /&gt;
** live: https://mf2j.herokuapp.com/?url={http://example.com}&lt;br /&gt;
&lt;br /&gt;
===== Perl =====&lt;br /&gt;
* '''Web::Microformats2''' Perl microformats2 parser&lt;br /&gt;
** https://metacpan.org/pod/Web::Microformats2&lt;br /&gt;
** open source: https://github.com/jmacdotorg/microformats2-perl&lt;br /&gt;
&lt;br /&gt;
==== Experiments ====&lt;br /&gt;
Experiments and other proof of concept microformat2 parsing support.&lt;br /&gt;
* '''Rust''' - https://gitlab.com/maxburon/microformats-parser&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Outreach ===&lt;br /&gt;
* [https://github.com/mozilla/fathom/issues/42 Mozilla Fathom:  examples with nested classes, e.g. microformats2]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
Presentations about microformats2:&lt;br /&gt;
* 2013-01-24 &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]&amp;lt;/cite&amp;gt; presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.&lt;br /&gt;
* 2012-09-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp;amp;amp; bits of HTML5: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.&lt;br /&gt;
* 2012-07-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
* 2012-07-14 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Testimonials ==&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;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 &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... But damn Microformats2 are sexy. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
This page was originally used to brainstorm and develop microformats2 in an exploratory manner, with problem statements, questions, lessons learned from past and other formats.&lt;br /&gt;
&lt;br /&gt;
Now that [[microformats2-parsing]] is a Microformats specification, the original brainstorming has been moved to a separate page for anyone who wants to understand more about how we came up with the design of microformats2, and how it evolved in the early years.&lt;br /&gt;
* [[microformats2-origins]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.&lt;br /&gt;
* [[microformats2-experimental-properties]] - listing experimental (-x- prefixed) properties and their use&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[vendor-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=audio-info-formats&amp;diff=70663</id>
		<title>audio-info-formats</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=audio-info-formats&amp;diff=70663"/>
		<updated>2023-11-04T00:03:55Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* XSPF */ current link, 2005 archive link for v1 that was linked here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Contributors=&lt;br /&gt;
&lt;br /&gt;
* [[User:ManuSporny | Manu Sporny]], [http://www.bitmunk.com/ Bitmunk] - [http://blog.digitalbazaar.com Digital Bazaar], Inc.&lt;br /&gt;
* Charles Iliya Krempeaux&lt;br /&gt;
* Ryan King&lt;br /&gt;
* [[User:YvesRaimond | Yves Raimond]], [http://blog.dbtune.org/ DBTune]&lt;br /&gt;
&lt;br /&gt;
=Audio Metadata Formats=&lt;br /&gt;
&lt;br /&gt;
== XSPF ==&lt;br /&gt;
* [https://xspf.org/spec XSPF] ([https://web.archive.org/web/20051216100424/http://xspf.org/xspf-v1.html 2005 archive link]) - XML playlist format created by Xiph.&lt;br /&gt;
&lt;br /&gt;
== MusicBrainz XML ==&lt;br /&gt;
* [http://wiki.musicbrainz.org/MusicBrainzXMLMetaData Music Brainz XML Metadata Format] - Music Brainz artist, album and track metadata format.&lt;br /&gt;
&lt;br /&gt;
== OGG Comment Specification ==&lt;br /&gt;
* [http://www.xiph.org/vorbis/doc/v-comment.html OGG Comment Specification] - Comment specification for Ogg Vorbis files.&lt;br /&gt;
&lt;br /&gt;
== OGG Tagging ==&lt;br /&gt;
* [http://reactor-core.org/ogg-tagging.html OGG Tagging Specification] - Optional comment specification for Ogg files.&lt;br /&gt;
&lt;br /&gt;
== Bitmunk XML ==&lt;br /&gt;
* [http://wiki.digitalbazaar.com/en/Bitmunk_Transaction_Platform_Web_API_Tutorials#Populating_Search_Data Bitmunk Media Info XML] - Media information XML format for describing audio and collections of audio.&lt;br /&gt;
&lt;br /&gt;
== AVI ==&lt;br /&gt;
&amp;lt;strong&amp;gt;AVI&amp;lt;/strong&amp;gt; is a container format for Audio/Video formats.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://en.wikipedia.org/wiki/AVI&lt;br /&gt;
&lt;br /&gt;
== B4S ==&lt;br /&gt;
&amp;lt;strong&amp;gt;B4S&amp;lt;/strong&amp;gt; is a playlist format.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://gonze.com/playlists/playlist-format-survey.html#B4S&lt;br /&gt;
&lt;br /&gt;
== Creative Commons RDF ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://gonze.com/playlists/playlist-format-survey.html#Creative&lt;br /&gt;
&lt;br /&gt;
== Music Ontology ==&lt;br /&gt;
* [http://musicontology.com/ The Music Ontology] is a community project aiming at providing a RDF vocabulary for expressing various music-related information, from complex editorial information (&amp;lt;i&amp;gt;this is a cell-phone recording of a performance of Ferde Grofé's arrangement of Gershwin's &amp;quot;Rhapsody in Blue&amp;quot;&amp;lt;/i&amp;gt;) to temporal annotation (&amp;lt;i&amp;gt;The pianist was playing in E at that particular time&amp;lt;/i&amp;gt;), and simple editorial metadata (&amp;lt;i&amp;gt;This album holds these tracks, was produced by this person, and this track was re-released on that compilation&amp;lt;/i&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Extended M3U ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://gonze.com/playlists/playlist-format-survey.html#M3U&lt;br /&gt;
* http://hanna.pyxidis.org/tech/m3u.html&lt;br /&gt;
* http://en.wikipedia.org/wiki/M3U&lt;br /&gt;
&lt;br /&gt;
== FLAC ==&lt;br /&gt;
Free Lossless Audio Codec (FLAC)&lt;br /&gt;
* http://flac.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
== iTunes RSS ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://www.apple.com/itunes/podcasts/techspecs.html&lt;br /&gt;
&lt;br /&gt;
== M3U ==&lt;br /&gt;
&amp;lt;strong&amp;gt;M3U&amp;lt;/strong&amp;gt; is a playlist format.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://gonze.com/playlists/playlist-format-survey.html#M3U&lt;br /&gt;
&lt;br /&gt;
== MKV/MKA ==&lt;br /&gt;
Matroska &amp;lt;strong&amp;gt;MKV/MKA&amp;lt;/strong&amp;gt; are video and audio containers, respectively.&lt;br /&gt;
* http://www.matroska.org/&lt;br /&gt;
&lt;br /&gt;
== PLS ==&lt;br /&gt;
&amp;lt;strong&amp;gt;PLS&amp;lt;/strong&amp;gt; is a playlist format.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://gonze.com/playlists/playlist-format-survey.html#PLS&lt;br /&gt;
* http://en.wikipedia.org/wiki/PLS_(file_format)&lt;br /&gt;
&lt;br /&gt;
== RTSP ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://www.rtsp.org/&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc1889.txt RFC 1889]&lt;br /&gt;
* http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol&lt;br /&gt;
&lt;br /&gt;
== SMIL ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://www.w3.org/AudioVideo/&lt;br /&gt;
&lt;br /&gt;
== Speex ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://www.speex.org/&lt;br /&gt;
&lt;br /&gt;
== WAX ==&lt;br /&gt;
&amp;lt;strong&amp;gt;WAX&amp;lt;/strong&amp;gt; is an SGML-based playlist for that looks exactly like ASX and WVX, except that it can only reference to ASF or WMA, but NOT to WMV files.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://gonze.com/playlists/playlist-format-survey.html#WAX&lt;br /&gt;
&lt;br /&gt;
== Id3 ==&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://www.id3.org/&lt;br /&gt;
* http://www.id3.org/id3v2.4.0-structure&lt;br /&gt;
&lt;br /&gt;
== See also==&lt;br /&gt;
*[http://blogs.guardian.co.uk/askjack/2008/01/which_mp3_player_is_best_for_c.html Discussion of labelling of classical works], with links to further discussion and proposed standards, in particular:&lt;br /&gt;
**[http://oakroadsystems.com/genl/itunes.htm Taming iTunes for Classical Music]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-me&amp;diff=70656</id>
		<title>rel-me</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-me&amp;diff=70656"/>
		<updated>2023-08-11T19:51:21Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* implementations */ +Threads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:rel=&amp;quot;me&amp;quot;}}&lt;br /&gt;
;short URL&lt;br /&gt;
:http://ufs.cc/w/relme&lt;br /&gt;
&lt;br /&gt;
[[XFN]] 1.1 introduced the &amp;quot;me&amp;quot; [[rel]] value which is used to indicate profile equivalence and for [[identity-consolidation]]. &lt;br /&gt;
&lt;br /&gt;
== example ==&lt;br /&gt;
&amp;lt;code&amp;gt;rel=&amp;quot;me&amp;quot;&amp;lt;/code&amp;gt; is used on hyperlinks from one page about a person to other pages about that same person.&lt;br /&gt;
&lt;br /&gt;
For example, [[User:Tantek|Tantek]]'s [https://tantek.com/ home page] has (markup simplified)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://github.com/tantek&amp;quot; rel=&amp;quot;me&amp;quot;&amp;gt;@t&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And his GitHub profile itself has (markup simplified)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://tantek.com/&amp;quot; rel=&amp;quot;me&amp;quot;&amp;gt;https://tantek.com/&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus establishing a bi-directional rel-me link and confirming that the two URLs represent the same person.&lt;br /&gt;
&lt;br /&gt;
Publishers can use the [https://gmpg.org/xfn/creator XFN creator] form to create rel-me hyperlinks.&lt;br /&gt;
&lt;br /&gt;
== screencast and videos ==&lt;br /&gt;
Watch some short videos:&lt;br /&gt;
* David Recordon's excellent *30 second* explanation of XFN rel=&amp;quot;me&amp;quot;&lt;br /&gt;
** [http://web.archive.org/web/20090119054502/http://www.sixapart.com/static_news/opening_social_graph/xfn_links/xfn_links.html Archived page], though presentation requires Flash. (original: &amp;lt;nowiki&amp;gt;http://www.sixapart.com/static_news/opening_social_graph/xfn_links/xfn_links.html&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
* [https://www.youtube.com/watch?v=LabCylbapuM Brad Fitzpatrick explains rel=&amp;quot;me&amp;quot; and more XFN].&lt;br /&gt;
* [https://connectedsocialmedia.com/423/plaxo-to-ship-online-identity-aggregator-based-on-microformats/ Joseph Smarr's whiteboard explanation] of rel=&amp;quot;me&amp;quot; as implemented in the Plaxo online identity aggregator. ([http://web.archive.org/web/20220708203538/https://connectedsocialmedia.com/423/plaxo-to-ship-online-identity-aggregator-based-on-microformats/ archived]) &amp;lt;!-- original URL http://www.podtech.net/scobleshow/technology/1611/plaxo-to-ship-online-identity-aggregator-based-on-microformats does not redirect to new episode permalink --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longer:&lt;br /&gt;
* [https://www.youtube.com/watch?v=Q2WzVSVxrrI Gavin Bell on &amp;quot;What is your provenance?&amp;quot;] (40 minutes) - provides a much broader discussion of the problem statement of who is a person on the Web, and [https://youtu.be/Q2WzVSVxrrI?t=450 starting at about 0:07:30] explains how [[hCard]] + rel=&amp;quot;me&amp;quot; helps solve this problem.&lt;br /&gt;
&lt;br /&gt;
== tutorials ==&lt;br /&gt;
[http://ungeekdapo.wordpress.com/2008/04/29/a-simple-data-portability-project-or-is-it/ A simple data portability project or is it] ([http://web.archive.org/web/20221110203949/https://ungeekdapo.wordpress.com/2008/04/29/a-simple-data-portability-project-or-is-it/ archived]) rel=me summary by Bob Ngu&lt;br /&gt;
&lt;br /&gt;
== domain verification ==&lt;br /&gt;
rel=me is the standard way to check that a website belongs to a user on a 3rd party site.&lt;br /&gt;
&lt;br /&gt;
* read a user's website that they entered into their 3rd party site profile&lt;br /&gt;
* check for a rel=me hyperlink from their website to their 3rd party site profile&lt;br /&gt;
* if such a rel=me hyperlink is found, then the user has proven that they control that personal website sufficient to put a link back to their 3rd party site profile, and thus domain verification succeeds.&lt;br /&gt;
&lt;br /&gt;
If you're the implementer of such a 3rd party site with user profiles, implement the above to implement a personal website domain verification feature.&lt;br /&gt;
&lt;br /&gt;
== rel-me-auth ==&lt;br /&gt;
[[RelMeAuth]] is a proposed open standard for using [[rel-me]] links to profiles on [[OAuth]] supporting services to authenticate via either those profiles or your own site.&lt;br /&gt;
&lt;br /&gt;
In short it is a combination of '''domain verification''' as documented above, and OAuth authorization on the 3rd party site that the user's domain links to.&lt;br /&gt;
&lt;br /&gt;
Read more about how to implement [[RelMeAuth]] and [[web sign-in]].&lt;br /&gt;
&lt;br /&gt;
== implementations ==&lt;br /&gt;
Notable Sites:&lt;br /&gt;
* [https://indieweb.org/Mastodon#rel-me_support Mastodon] uses rel-me to support &amp;quot;verified&amp;quot; site links in a green box with a green checkmark next to the verified site.&lt;br /&gt;
* [https://web.archive.org/web/20230314223136/https://hachyderm.io/@nova/109790530971147702 GitHub]&lt;br /&gt;
* [https://wikis.world/@wikipedia/110396865170645710 Wikipedia] via [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:RealMe MediaWiki Extension RealMe]&lt;br /&gt;
* [https://indieweb.org/rel-me#Threads Threads] announced rel-me support 2023-08-09 [https://www.threads.net/@mosseri/post/Cvu2eXurRbB]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
* '''[https://indielogin.com/ IndieLogin]''' is perhaps the most comprehensive [[rel-me]] implementation, using it to implement [[RelMeAuth]] and a superset of [[web-sign-in]] that is focused on [http://indiewebcamp.com/ independent websites].&lt;br /&gt;
&lt;br /&gt;
[[wordpress-plugins|WordPress plugins]]:&lt;br /&gt;
* [http://blog.maybe5.com/?page_id=94 Social Links Wordpress plugin] - supports rel-me links to other services&lt;br /&gt;
* [http://code.l0g.in/about-me/ About Me plugin] (on github) - supports creation of an About Me page with rel-me links to other profiles.&lt;br /&gt;
&lt;br /&gt;
=== past implementations ===&lt;br /&gt;
* '''[https://web.archive.org/web/20170826050132/https://support.google.com/webmasters/answer/1229920 Google]''' used reciprocal rel=me links for domain verification, which it also used for independent site [[rel-author]] support.&lt;br /&gt;
* '''[http://web.archive.org/web/20140117144124/http://blog.app.net/2013/04/29/announcing-domain-verification App.net]''' implemented rel-me for officially connecting your domain to your app.net account, as well as publishing rel-me on your site.&lt;br /&gt;
&lt;br /&gt;
=== advocacy ===&lt;br /&gt;
Advocating rel=me support can be done a few ways, if a site has:&lt;br /&gt;
* user profiles but no &amp;quot;website&amp;quot; field - ask them to add a &amp;quot;website&amp;quot; field and mark it up with rel=me.&lt;br /&gt;
* a &amp;quot;website&amp;quot; field on profiles - ask it to support publishing rel=me&lt;br /&gt;
* a notion of &amp;quot;verification&amp;quot; or &amp;quot;verified&amp;quot; profiles - ask it to do so via confirming reciprocal rel=me&lt;br /&gt;
* login/sign-in - ask it to support [[RelMeAuth]] with a [[Web sign-in]] user interface.&lt;br /&gt;
&lt;br /&gt;
Current requests:&lt;br /&gt;
* [https://github.com/liberapay/liberapay.com/issues/1034#issuecomment-461898619 Liberapay:  Associate accounts with websites #1034: rel=&amp;quot;me&amp;quot; link] - requested 2019-02-08 by https://github.com/Changaco&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
'''TO BE UPDATED'''&lt;br /&gt;
&lt;br /&gt;
The sections below this need to be updated (e.g. links verified, and deadlinks replaced with Internet Archive versions)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== examples in the wild ==&lt;br /&gt;
Examples of sites publishing rel=me support, e.g. on user profiles.&lt;br /&gt;
&lt;br /&gt;
See:&lt;br /&gt;
* [[hcard-xfn-supporting-friends-lists#Services_with_XFN_rel.3D.22me.22_to_multiple_external_sites|services supporting XFN rel=me]]&lt;br /&gt;
&lt;br /&gt;
== articles ==&lt;br /&gt;
* 2018-04-26 [https://vanderven.se/martijn/ Martijn van der Ven]: [https://wiki.zegnat.net/media/the-real-deal-about-rel-me.html The Real Deal About &amp;lt;code&amp;gt;rel=&amp;quot;me&amp;quot;&amp;lt;/code&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* https://indieweb.org/rel-me&lt;br /&gt;
* [[hcard-xfn-supporting-friends-lists#Services_with_XFN_rel.3D.22me.22_to_multiple_external_sites|services that support rel=&amp;quot;me&amp;quot;]]&lt;br /&gt;
* [[rel-me-faq]]&lt;br /&gt;
* [[xfn]]&lt;br /&gt;
* [[rel]]&lt;br /&gt;
* [[social network portability]]&lt;br /&gt;
* [https://gmpg.org/xfn/11 XFN 1.1 profile]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=vote-links&amp;diff=70655</id>
		<title>vote-links</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=vote-links&amp;diff=70655"/>
		<updated>2023-07-26T21:41:39Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Vote Links}}&lt;br /&gt;
__TOC__&lt;br /&gt;
== Specification 2005 ==&lt;br /&gt;
=== Editor ===&lt;br /&gt;
* [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc.], formerly of [http://microsoft.com/ Microsoft Corporation])&lt;br /&gt;
&lt;br /&gt;
=== Concept ===&lt;br /&gt;
* [http://epeus.blogspot.com/ Kevin Marks] ([http://technorati.com Technorati, Inc.])&lt;br /&gt;
&lt;br /&gt;
=== Authors ===&lt;br /&gt;
* [http://epeus.blogspot.com/ Kevin Marks] ([http://technorati.com Technorati, Inc])&lt;br /&gt;
* [http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc])&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatPublicDomainContributionStatement}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
* [[User:Kevin_Marks|Kevin Marks]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Inspiration and Acknowledgments ===&lt;br /&gt;
Thanks to everyone who has given feedback on VoteLinks.  Thanks especially to EtanWexler, who provided the first really good documentation that VoteLinks should be using 'rev' instead of 'rel' (see [[VoteLinksFAQ]]), and John Allsopp who similarly challenged the use of 'rel', and helped co-author the [[RelFAQ]] exploring questions and issues about the use of the HTML4 'rel', 'rev' attributes and linktypes in general.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Indexing and tracking applications treat all links as endorsements, or expressions of support. This is a problem, as we need to link to those we disagree with as well, to discuss why.&lt;br /&gt;
&lt;br /&gt;
== Specification ==&lt;br /&gt;
VoteLinks is an [[elemental-microformat|elemental microformat]], one of several [[microformats|microformat]] open standards.&lt;br /&gt;
We propose a set of three new values for the rev attribute of the &amp;lt;a&amp;gt; (hyperlink) tag in HTML.&lt;br /&gt;
&lt;br /&gt;
The new values are &amp;amp;quot;vote-for&amp;amp;quot; &amp;amp;quot;vote-abstain&amp;amp;quot; or &amp;amp;quot;vote-against&amp;amp;quot;, which are mutually exclusive, and represent agreement, abstention or indifference, and disagreement respectively.&lt;br /&gt;
&lt;br /&gt;
A link without an explicit vote 'rev' value is deemed to have value &amp;amp;quot;vote-for&amp;amp;quot; or &amp;amp;quot;vote-abstain&amp;amp;quot;, depending on the application.&lt;br /&gt;
&lt;br /&gt;
Additional human-readable commentary can be added using the existing 'title' attribute, which most browsers show as a rollover.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a rev=&amp;quot;vote-for&amp;quot; href=&amp;quot;http://example.com/cheesevote&amp;quot;  &lt;br /&gt;
   title=&amp;quot;Melt the cheese!&amp;quot;&amp;gt;Do it!&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;a rev=&amp;quot;vote-against&amp;quot; href=&amp;quot;http://example.com/cheesevote&amp;quot;  &lt;br /&gt;
   title=&amp;quot;Don't melt the cheese!&amp;quot;&amp;gt;Don't do it!&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Deprecated: Using 'rel' for VoteLinks ===&lt;br /&gt;
A previous draft of the specification used the 'rel' attribute instead of the 'rev' attribute.  Analysis and feedback has demonstrated this to have been inappropriate use of the 'rel' attribute, when the 'rev' attribute was much more important.  See the [[RelFAQ]] for more details.&lt;br /&gt;
&lt;br /&gt;
Implementations MAY support links with the VoteLinks values in the 'rel' attribute for backward compatibility with any existing VoteLinks content.&lt;br /&gt;
&lt;br /&gt;
Authors MUST NOT use 'rel' for VoteLinks values.&lt;br /&gt;
&lt;br /&gt;
== XMDP profile ==&lt;br /&gt;
The following is an [http://gmpg.org/xmdp/ XMDP] profile for the [[vote-links]] specification.&lt;br /&gt;
&lt;br /&gt;
=== URLs ===&lt;br /&gt;
This profile is hosted as a separate XMDP file on microformats.org:&lt;br /&gt;
* http://microformats.org/profile/vote-links&lt;br /&gt;
* shortURL: http://ufs.cc/x/vote-links&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
Profiles are referenced in (X)HTML files in the &amp;amp;lt;HEAD&amp;amp;gt; tag, e.g.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head profile='http://microformats.org/profile/vote-links'&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl class=&amp;quot;profile&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dt id=&amp;quot;rev&amp;quot;&amp;gt;rev&amp;lt;/dt&amp;gt;&lt;br /&gt;
 &amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;lt;a rel=&amp;quot;help&amp;quot; href=&amp;quot;http://www.w3.org/TR/html401/struct/links.html#adef-rev&amp;quot;&amp;gt;&lt;br /&gt;
     HTML4 definition of the 'rev' attribute.&amp;lt;/a&amp;gt;  &lt;br /&gt;
   Here are additional values as defined in the&lt;br /&gt;
   &amp;lt;a rel=&amp;quot;help start&amp;quot; href=&amp;quot;http://microformats.org/wiki/vote-links&amp;quot;&amp;gt;&lt;br /&gt;
   vote-links specification&amp;lt;/a&amp;gt; &lt;br /&gt;
   .&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;dl&amp;gt;&lt;br /&gt;
   &amp;lt;dt id=&amp;quot;vote-for&amp;quot;&amp;gt;vote-for&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;Indicates agreement with or recommendation for the referred resource.&amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt id=&amp;quot;vote-abstain&amp;quot;&amp;gt;vote-abstain&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;Indicates abstention or indifference for the referred resource.&amp;lt;/dd&amp;gt;&lt;br /&gt;
   &amp;lt;dt id=&amp;quot;vote-against&amp;quot;&amp;gt;vote-against&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;Indicates disagreement with or recommendation against the referred resource.&amp;lt;/dd&amp;gt;&lt;br /&gt;
  &amp;lt;/dl&amp;gt;&lt;br /&gt;
 &amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
* Wordpress VoteBack (vote-link aware pingback and trackback) plugin is in testing at [http://monkinetic.com/2006/12/22/voteback.html VoteBack] ([[User:SteveIvy|Steve Ivy]]) - looking for testers!&lt;br /&gt;
** Any examples of WordPress sites running this? - [[User:Tantek|Tantek]] 23:42, 30 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== past implementations ===&lt;br /&gt;
The following implementations went away or stopped working at some point:&lt;br /&gt;
&lt;br /&gt;
* [http://folksr.de/ Folksr.de] - Apache test page (2012-07-30). Was: using VoteLinks to vote on the World Cup 2006&lt;br /&gt;
* '''jyte.com''' - &amp;quot;jyte is sleeping&amp;quot; (2012-07-30). Was: Following a [http://jyte.com/cl/jyte-should-integrate-microformats-votelinks vote-links claim] [http://jyte.com/profile/brianellin.com Brian Ellin] implemented vote-links on [http://jyte.com Jyte] within less than 30 minutes.&lt;br /&gt;
* '''moloko.itc.it''' site is unresponsive. was: [http://moloko.itc.it/paoloblog/ Paolo Massa] created [http://moloko.itc.it/paoloblog/semantic_links/ SemanticLinks], a small Firefox extension that shows vote-for, vote-against links information. (Note the download links for SemanticLinks have been removed by the author.)&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following sites have implemented VoteLinks , and thus are a great place to start for anyone looking for examples &amp;quot;in the wild&amp;quot; to try parsing, indexing, organizing etc. If your site marked up with VoteLinks, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
          Add new items to the top of the list&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [http://www.likeorhate.com/ LikeOrHate] uses Vote-Links all over the site, to rate anything, items, comments, users. Valid votes are Like, Hate, Whatever (&amp;quot;vote-for&amp;quot;, &amp;quot;vote-against&amp;quot;, &amp;quot;vote-abstain&amp;quot;). CSS is used to &amp;quot;check&amp;quot; votes so logged users can remember them later.&lt;br /&gt;
* [http://www.weboffate.com/ Web of Fate] Web of Fate publishes Vote-Links for prediction probability scoring. Users can vote Agree, Disagree, Witness (&amp;quot;vote-for&amp;quot;, &amp;quot;vote-against&amp;quot;, &amp;quot;vote-abstain&amp;quot;)&lt;br /&gt;
* [http://tommorris.org/blog/ Tom Morris] has vote links on del.icio.us links (based on tags &amp;quot;vote-for&amp;quot;, &amp;quot;vote-against&amp;quot; and &amp;quot;vote-abstain&amp;quot;).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
          Add new items to the top of the list&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.artweb-design.de/articles/2006/06/05/distributed-votings-using-microformats Distributed votings using microformats] from Artweb Design&lt;br /&gt;
* [http://24ways.org/2006/boost-your-hyperlink-power Boost Your Hyperlink Power] - Jeremy Keith, using CSS to surface vote information&lt;br /&gt;
* Contributed from &amp;lt;nowiki&amp;gt;http://developers.technorati.com/wiki/VoteLinks&amp;lt;/nowiki&amp;gt; ([https://web.archive.org/web/20040301041935/http://developers.technorati.com/wiki/VoteLinks 2004-03-01 Internet Archive copy])&lt;br /&gt;
== Related Work ==&lt;br /&gt;
* [[xoxo]]&lt;br /&gt;
* [http://gmpg.org/xfn/ XFN]&lt;br /&gt;
* [http://developers.technorati.com/wiki/attentionxml Attention.xml]&lt;br /&gt;
* [[rellicense]]&lt;br /&gt;
* [[reltag]]&lt;br /&gt;
* [[relnofollow]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* See [[vote-links-faq]] and the broader [[rel-faq]].&lt;br /&gt;
* See also [[vote-links-issues]] for issues which have been raised with the votelinks [[microformat]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:vote-links]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=value-class-pattern-tests&amp;diff=70654</id>
		<title>value-class-pattern-tests</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=value-class-pattern-tests&amp;diff=70654"/>
		<updated>2023-07-26T21:40:27Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With the goal of developing a thorough test-suite for the [[value-class-pattern]], here are some test cases:&lt;br /&gt;
&lt;br /&gt;
== test cases ==&lt;br /&gt;
The following value-class-pattern test cases have been developed (all of which use the [[test-fixture]] poshformat for easier extraction).&lt;br /&gt;
&lt;br /&gt;
=== Date and time values ===&lt;br /&gt;
{{main|value-class-date-time-tests}}&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--HH-MM]]&lt;br /&gt;
* [[value-dt-test-abbr-YYYY-MM-DD--HH-MM]]&lt;br /&gt;
* [[value-dt-test-abbr-YYYY-MM-DD-abbr-HH-MM]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--HHpm]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--Hpm-EEpm]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--abbr-HH-MMpm]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--12am-12pm]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--H-MMam-Epm]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--0Ham-EEam]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--H-MM-SSpm-EE-NN-UUpm]]&lt;br /&gt;
* [[value-dt-test-YYYY-DDD--HH-MM-SS]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--HH-MMZ-EE-NN-UUZ]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--HH-MM-XX-YY--EE-NN-UU--XXYY]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--HH-MM-XX--EE-NN-UU--Y]]&lt;br /&gt;
* [[value-dt-test-YYYY-MM-DD--HH-MM-SS-XXYY--EE-NN--Z]]&lt;br /&gt;
* [[value-dt-test-e-title-YYYY-MM-DD--HH-MM]]&lt;br /&gt;
&lt;br /&gt;
=== Parsing value from a title attribute ===&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== inline development tests ==&lt;br /&gt;
Here are inline tests developed during the development and design of the [[value-class-pattern]]. Each of those tests needs to be updated as follows:&lt;br /&gt;
&lt;br /&gt;
# move to a separate page (one test per page), similar to the format used by [[value-dt-test-YYYY-MM-DD--HH-MM]].&lt;br /&gt;
# mark up using the [[test-fixture]] poshformat.  &lt;br /&gt;
# &amp;quot;Result&amp;quot; at a minimum converted from abstract hierarchical text properties/values to an [[vCard]] and/or [[iCalendar]] expected result block.&lt;br /&gt;
# linked to from the previous section.&lt;br /&gt;
&lt;br /&gt;
Please help the value class pattern testing, development, and implementation effort by updating the following tests accordingly:&lt;br /&gt;
&lt;br /&gt;
===Conforming &amp;lt;code&amp;gt;value-title&amp;lt;/code&amp;gt; Tests===&lt;br /&gt;
&lt;br /&gt;
====One====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class='tel'&amp;gt;My &lt;br /&gt;
    &amp;lt;span class='type'&amp;gt;&lt;br /&gt;
        &amp;lt;span class='value-title' title='cell'&amp;gt; &amp;lt;/span&amp;gt;mobile&lt;br /&gt;
    &amp;lt;/span&amp;gt; phone number is &amp;lt;span class='value'&amp;gt;+44 1245 333 333&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Result&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TEL&lt;br /&gt;
    TYPE = cell&lt;br /&gt;
    VALUE = +44 1245 333 333&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Two====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class='vevent'&amp;gt;&lt;br /&gt;
    My &amp;lt;span class='summary'&amp;gt;Birthday Party&amp;lt;/span&amp;gt; will be held&lt;br /&gt;
    &amp;lt;span class='dtstart'&amp;gt;&lt;br /&gt;
        &amp;lt;span class='value-title' title='2009-04-01'&amp;gt;tomorrow&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/span&amp;gt;&lt;br /&gt;
    and last until &lt;br /&gt;
    &amp;lt;span class='dtend'&amp;gt;&lt;br /&gt;
        &amp;lt;span class='value-title' title='2009-04-05'&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
        the following Tuesday (April 5th)&lt;br /&gt;
    &amp;lt;/span&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;        &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Result&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VEVENT&lt;br /&gt;
    SUMMARY = Birthday Party&lt;br /&gt;
    DTSTART = 2009-04-01&lt;br /&gt;
    DTEND = 2009-04-05&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tests of Non-Conforming &amp;lt;code&amp;gt;value-title&amp;lt;/code&amp;gt; Code===&lt;br /&gt;
&lt;br /&gt;
====One====&lt;br /&gt;
&lt;br /&gt;
In this case, the human text appears before the &amp;lt;code&amp;gt;value-title&amp;lt;/code&amp;gt; element, so the machine-data value has a weaker association with the property declaration. The likelihood of the data not being maintained correctly — the data value being ignored by an editor — is increased.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class='tel'&amp;gt;My &lt;br /&gt;
    &amp;lt;span class='type'&amp;gt;&lt;br /&gt;
        mobile&lt;br /&gt;
        &amp;lt;span class='value-title' title='cell'&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;/span&amp;gt; phone number is &amp;lt;span class='value'&amp;gt;+44 1245 333 333&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Result&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TEL&lt;br /&gt;
    TYPE = none/default/unknown ('mobile' is unknown in hCard)&lt;br /&gt;
    VALUE = +44 1245 333 333&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Two====&lt;br /&gt;
&lt;br /&gt;
In this case, the &amp;lt;code&amp;gt;value-title&amp;lt;/code&amp;gt; element is used for a property that is not valid for use with this pattern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class='vevent'&amp;gt;You are invited to&lt;br /&gt;
    &amp;lt;span class='summary'&amp;gt;&lt;br /&gt;
        &amp;lt;span class='value-title' title='FooCamp'&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
        BarCamp&lt;br /&gt;
    &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Result&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VEVENT&lt;br /&gt;
    SUMMARY = BarCamp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== inline examples from Microformation ==&lt;br /&gt;
Here are inline examples published by Jeremy Keith in his blog post [http://adactio.com/journal/1579/ Microformation].&lt;br /&gt;
&lt;br /&gt;
=== to do value-title test pages ===&lt;br /&gt;
'''Each of the examples below needs to be updated as follows:'''&lt;br /&gt;
&lt;br /&gt;
# move to a separate page (one test per page), similar to the format used by [[value-dt-test-YYYY-MM-DD--HH-MM]].&lt;br /&gt;
# construct a complete [[hCalendar]] event that uses inline &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; example&lt;br /&gt;
# mark up using the [[test-fixture]] poshformat.  &lt;br /&gt;
# document &amp;quot;Result&amp;quot; at a minimum as an [[iCalendar]] expected result block.&lt;br /&gt;
# linked to from the appropriate section at the top of this page.&lt;br /&gt;
&lt;br /&gt;
Please help the value class pattern testing, development, and implementation effort by creating separate test case pages for each of the following examples.&lt;br /&gt;
&lt;br /&gt;
=== value title with contents ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;dtstart&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;2009-06-05T20:00:00&amp;quot;&amp;gt;&lt;br /&gt;
  Friday, June 5th at 8pm&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== separate value title date and time ===&lt;br /&gt;
Not sure if this is actually allowed by the [[value-class-pattern]], but we should write up a test case regardless, to see what implementations do. [[User:Tantek|Tantek]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;dtstart&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;2009-06-05&amp;quot;&amp;gt;&lt;br /&gt;
  Friday, June 5th&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
 at&lt;br /&gt;
 &amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;20:00&amp;quot;&amp;gt;&lt;br /&gt;
  8pm&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== value title span with empty content ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;dtstart&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;2009-06-05T20:00:00&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
 Friday, June 5th at 8pm&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[value-class-pattern]]&lt;br /&gt;
* [[value-class-date-time-tests]]&lt;br /&gt;
* [[test-fixture]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=google-search&amp;diff=70653</id>
		<title>google-search</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=google-search&amp;diff=70653"/>
		<updated>2023-07-26T21:37:29Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Google Search}}&lt;br /&gt;
&lt;br /&gt;
Google is one of several [[search-engines]] that index and support microformats.&lt;br /&gt;
&lt;br /&gt;
== main search ==&lt;br /&gt;
[http://google.com/ Google.com] supports [[rel-nofollow]], [[hCard]], [[hReview]], [[hreview-aggregate|hReview aggregate]], [[hProduct]] (since 2009-05-12 for [https://web.archive.org/web/20130717002527/https://support.google.com/webmasters/answer/99170 rich snippets]), [[hCalendar]] ([http://googlewebmastercentral.blogspot.com/2010/01/introducing-new-rich-snippets-format.html since 2010-01-22]), and [[hRecipe]] ([http://googlewebmastercentral.blogspot.com/2010/04/better-recipes-on-web-introducing.html since 2010-04-13]) - in main search. See also [http://microformats.org/2010/04/28/google-adds-support-for-hcalendar-and-hrecipe-rich-snippets related blog post on hCalendar hRecipe support]. &lt;br /&gt;
&lt;br /&gt;
=== rich snippets ===&lt;br /&gt;
{{main|rich-snippets}}&lt;br /&gt;
Rich Snippets is [[Google]]'s term for the enhancement of search results (&amp;quot;snippets&amp;quot;) with information from microformats from pages.&lt;br /&gt;
* See [[google-rich-snippets-examples]] for documentation of Google's microformats examples.&lt;br /&gt;
* See [[google-rich-snippets-issues]] for issues with Google's Rich Snippets Testing tool.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== people ===&lt;br /&gt;
Google's [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=146646 documentation on Rich snippets - People support]&lt;br /&gt;
&lt;br /&gt;
http://www.google.com//help/hc/images/webmasters_146676_rspeople.png&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* at least two of the following must be present:&lt;br /&gt;
** title or role&lt;br /&gt;
** org&lt;br /&gt;
** adr&lt;br /&gt;
&lt;br /&gt;
[[hCard]] properties supported ('''bold''' = required)&lt;br /&gt;
* '''fn'''&lt;br /&gt;
* nickname&lt;br /&gt;
* photo&lt;br /&gt;
* title&lt;br /&gt;
* role&lt;br /&gt;
* url&lt;br /&gt;
* org - &amp;quot;If fn and org have the exact same value, Google will interpret the information as referring to a business or organization&amp;quot;&lt;br /&gt;
* adr&lt;br /&gt;
** street-address&lt;br /&gt;
** locality&lt;br /&gt;
** region&lt;br /&gt;
** postal-code&lt;br /&gt;
** country-name&lt;br /&gt;
* friend (presumably from [[xfn]])&lt;br /&gt;
* contact (presumably from [[xfn]])&lt;br /&gt;
* acquaintance (presumably from [[xfn]])&lt;br /&gt;
&lt;br /&gt;
[[rel-me]] support:&lt;br /&gt;
* https://support.google.com/webmasters/answer/1229920&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== organizations ===&lt;br /&gt;
Google's [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=146861 documentation on Rich snippets - Organizations support]&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* &amp;quot;Organization information (for example, details about a business such as a restaurant or attraction) that is marked up in the body of a web page can help Google understand '''location information in reviews or events.'''&amp;quot;&lt;br /&gt;
* &amp;quot;It can also be displayed on a '''Place Page'''—a web page that organizes all relevant information about a place. [http://maps.google.com/help/maps/richsnippetslocal/ more about rich snippets for local search]&lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/help/maps/richsnippetslocal/images/rich-snippets-info.png&lt;br /&gt;
&lt;br /&gt;
[[hCard]] properties supported ('''bold''' = required)&lt;br /&gt;
* '''fn/org''' - &amp;quot;use both fn and org, and ensure that these have the same value.&amp;quot;&lt;br /&gt;
* url&lt;br /&gt;
* adr&lt;br /&gt;
** street-address&lt;br /&gt;
** locality&lt;br /&gt;
** region&lt;br /&gt;
** postal-code&lt;br /&gt;
** country-name&lt;br /&gt;
* tel&lt;br /&gt;
* geo&lt;br /&gt;
** latitude&lt;br /&gt;
** longitude&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== events ===&lt;br /&gt;
Google's [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=164506 documentation on Rich snippets - Reviews support]&lt;br /&gt;
&lt;br /&gt;
Multiple events: &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.google.com/help/hc/images/webmasters/webmasters_164506_richsnippets_multipleevent_en.gif&lt;br /&gt;
&lt;br /&gt;
Or a single event: &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.google.com/help/hc/images/webmasters_164506_richsnippetsevents_singleevent_en.gif&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* &amp;quot;Event markup can be used to mark up events that occur on ''' ''specific'' future dates''', such as a musical concert or an art festival.&amp;quot;&lt;br /&gt;
* &amp;quot;the name and location of the event, also needs to be clearly defined. Since this feature isn’t meant for advertising purposes, your '''event name should not contain any promotional elements such as the ''price'' of the event, a ''call to purchase'', or an indication of a ''sale or temporary discount'' '''.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[hCalendar]] properties supported ('''bold''' = required)&lt;br /&gt;
* '''summary'''&lt;br /&gt;
* '''url''' - &amp;quot;Required for pages listing multiple events&amp;quot;&lt;br /&gt;
* '''location''' - &amp;quot;Required for single event. ... we recommend that you represent the location by using a nested Organization to specify a venue '''name and address'''.&amp;quot; - [[hCard]]&lt;br /&gt;
* description&lt;br /&gt;
* dtstart&lt;br /&gt;
* dtend&lt;br /&gt;
* duration&lt;br /&gt;
* category&lt;br /&gt;
* geo&lt;br /&gt;
** latitude&lt;br /&gt;
** longitude&lt;br /&gt;
* photo&lt;br /&gt;
* tickets - &amp;quot;offer to buy tickets for the event. Can be a URL to a page where tickets can be purchased, or can include specific Offer properties, such as&amp;quot;&lt;br /&gt;
** price&lt;br /&gt;
** quantity&lt;br /&gt;
** priceValidUntil&lt;br /&gt;
** currency&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== reviews ===&lt;br /&gt;
Google's [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=146645 documentation on Rich snippets - Reviews support]&lt;br /&gt;
&lt;br /&gt;
http://www.google.com/help/hc/images/webmasters_146645_individualimage.png&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* the main topic of the page needs to be about '''a ''specific'' product or service'''. For example, using review markup on a page containing multiple products is not supported.&lt;br /&gt;
* If the markup contains a single review, the '''reviewer’s name needs to be a valid name''' (Person or Organization)&lt;br /&gt;
** presumably an [[hCard]]&lt;br /&gt;
&lt;br /&gt;
[[hReview]] properties supported ('''bold''' = required)&lt;br /&gt;
* '''item'''&lt;br /&gt;
** fn&lt;br /&gt;
* rating&lt;br /&gt;
** value&lt;br /&gt;
** best&lt;br /&gt;
*** value-title support: &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt; &amp;lt;span class=&amp;quot;best&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;10&amp;quot;/&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** worst&lt;br /&gt;
** &amp;quot;Tip: Don't add a separate hidden text block to specify the rating. '''Hidden content will not be displayed.'''&amp;quot;[http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=172705]&lt;br /&gt;
** img alt number parsing: &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;rating&amp;quot; src=&amp;quot;four_star_rating.gif&amp;quot; alt=&amp;quot;4 Star Rating: Recommended&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
** value-title support: &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;rating&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value-title&amp;quot; title=&amp;quot;4.5&amp;quot; /&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* '''reviewer'''&lt;br /&gt;
* dtreviewed&lt;br /&gt;
* description&lt;br /&gt;
* summary&lt;br /&gt;
[[hReview-aggregate]] additional properties supported in addition to the above (or additional requirements / subproperties)&lt;br /&gt;
* count - &amp;quot;The total number of reviews for the item on your site. Note: Whenever you include count, the page must also contain review markup for each reviewed item. count should only include reviews on your own site.&amp;quot;&lt;br /&gt;
* votes - &amp;quot;contributes toward the average rating but not towards the number of reviews available&amp;quot; - essentially, a &amp;quot;number of ratings&amp;quot; property.&lt;br /&gt;
* '''rating''' - required in their hReview-aggregate support&lt;br /&gt;
* rating&lt;br /&gt;
** average (additional subproperty)&lt;br /&gt;
* photo - though presumably this works in hReviews as well&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== recipes ===&lt;br /&gt;
Google's [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=173379 documentation on Rich snippets - Recipes support]&lt;br /&gt;
&lt;br /&gt;
http://www.google.com/help/hc/images/webmasters_173379_en.png&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* &amp;quot;When using recipe markup, the '''main topic of the page needs to be about a ''specific'' recipe.''' Using recipe markup on a page containing multiple recipes is not supported.&amp;quot;&lt;br /&gt;
* &amp;quot;f the recipe markup contains a single review, the '''reviewer’s name needs to be a valid name (Person or Organization).'''&amp;quot; [[[hCard]]]&lt;br /&gt;
&lt;br /&gt;
[[hRecipe]] properties supported ('''bold''' = required)&lt;br /&gt;
* '''fn'''&lt;br /&gt;
* tag&lt;br /&gt;
* photo&lt;br /&gt;
* published&lt;br /&gt;
* summary&lt;br /&gt;
* review - nested [[hReview]]&lt;br /&gt;
* prepTime - &amp;quot;length of time it takes to prepare the recipe for dish, in ISO 8601 duration format.&amp;quot;&lt;br /&gt;
** min&lt;br /&gt;
** max&lt;br /&gt;
* cookTime - &amp;quot;time it takes to actually cook the dish, in ISO 8601 duration format.&amp;quot;&lt;br /&gt;
** min&lt;br /&gt;
** max&lt;br /&gt;
* duration - &amp;quot;total time it takes to prepare the&amp;lt;nowiki&amp;gt;[sic]&amp;lt;/nowiki&amp;gt; cook the dish, in ISO 8601 duration format.&amp;quot;&lt;br /&gt;
** min&lt;br /&gt;
** max&lt;br /&gt;
* nutrition - &amp;quot;These elements are not explicitly part of the hRecipe microformat, but Google will recognize them.&amp;quot;&lt;br /&gt;
** servingSize&lt;br /&gt;
** calories&lt;br /&gt;
** fat&lt;br /&gt;
** saturatedFat&lt;br /&gt;
** unsaturatedFat&lt;br /&gt;
** carbohydrates&lt;br /&gt;
** sugar&lt;br /&gt;
** fiber&lt;br /&gt;
** protein&lt;br /&gt;
** cholesterol&lt;br /&gt;
* instructions&lt;br /&gt;
** instruction&lt;br /&gt;
* yield&lt;br /&gt;
* ingredient&lt;br /&gt;
** name (not fn?)&lt;br /&gt;
** amount&lt;br /&gt;
* author - Can include nested Person information - [[hCard]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== products and listings ===&lt;br /&gt;
Google's [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=146750 documentation on Rich snippets - Products support] and [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=186036 Product properties: hProduct] in particular.&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* &amp;quot;mark up your product information on a product page (a page that contains '''only a single product''') or an '''aggregated offer page''' (a page that lists a single product, along with information about different sellers offering that product).&lt;br /&gt;
* &amp;quot;Because you cannot use microformats to indicate condition or availability (for example, &amp;quot;used&amp;quot; or &amp;quot;out-of-stock&amp;quot;), we recommend using hProduct only for new, in-stock products only.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[hProduct]] properties supported ('''bold''' = required)&lt;br /&gt;
* '''fn''' (&amp;quot;name&amp;quot; in other vocabs)&lt;br /&gt;
* photo (&amp;quot;image&amp;quot; in other vocabs)&lt;br /&gt;
* brand&lt;br /&gt;
* description&lt;br /&gt;
* category&lt;br /&gt;
* review - a nested [[hReview aggregate]]&lt;br /&gt;
* (identifier - mentioned in other vocabs only)&lt;br /&gt;
** types: asin, isbn, mpn, sku, upc&lt;br /&gt;
* offerDetails - [[hListing]] - &amp;quot;An offer to sell the product. Includes a nested Offer or Offer-aggregate.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[hListing]] (offers) properties supported ('''bold''' = required)&lt;br /&gt;
* '''fn''' (as part of item)&lt;br /&gt;
* '''price''' - &amp;quot;A floating point number. You may use either a decimal point ('.') or a comma (',') as a separator.&amp;quot;&lt;br /&gt;
* currency - &amp;quot;currency used to describe the product price, in three-letter ISO format&amp;quot; (documented as &amp;quot;required&amp;quot;, but testing tool doesn't report any error for omitting)&lt;br /&gt;
* url (for offers, offer-aggregates in particular)&lt;br /&gt;
* priceValidUntil - &amp;quot;date (in ISO date format) after which the price will no longer be available. (Your product snippet may not display if the priceValidUntil property indicates a past date.)&amp;quot;&lt;br /&gt;
* seller - [[hCard]] (Person or Organization)&lt;br /&gt;
* condition - &amp;quot;content&amp;quot; attribute must be one of: &amp;quot;new, used, refurbished&amp;quot;&lt;br /&gt;
* availability - &amp;quot;content&amp;quot; attribute must be one of: &amp;quot;out_of_stock, in_stock, instore_only, preorder&amp;quot;&lt;br /&gt;
* quantity&lt;br /&gt;
* identifier&lt;br /&gt;
** types: asin, isbn, mpn, sku, upc&lt;br /&gt;
* itemOffered - [[hProduct]] - &amp;quot;The item being sold. Typically, this includes a nested Product, but it can also contain other item types or free text.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Related: Offer-aggregate properties supported ('''bold''' = required)&lt;br /&gt;
* '''lowPrice''' - Floating point number&lt;br /&gt;
* highPrice - Floating point number&lt;br /&gt;
* '''currency''' - [http://http//www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/currency_codes.htm three-letter ISO format].&lt;br /&gt;
* offerCount&lt;br /&gt;
* condition - &amp;quot;content&amp;quot; attribute must be one of: &amp;quot;new, used, refurbished&amp;quot;&lt;br /&gt;
* offerURL&lt;br /&gt;
* identifier&lt;br /&gt;
** types: asin, isbn, mpn, sku, upc&lt;br /&gt;
* itemOffered - [[hProduct]] - &amp;quot;The item being sold. Typically, this includes a nested Product, but it can also contain other item types or free text.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
There is an obsolete claim of non-support: &amp;lt;blockquote&amp;gt;&amp;quot;We do not currently support the hListing format for product rich snippets.&amp;quot;&amp;lt;/blockquote&amp;gt; Real world examples have disproven this, e.g.:&lt;br /&gt;
* http://www.smartmaster.co.il/Default.asp?sType=0&amp;amp;PageId=77222 &lt;br /&gt;
** has several hListings with &amp;lt;code&amp;gt;class=hlisting&amp;lt;/code&amp;gt;&lt;br /&gt;
** Google Structured Data Testing Tool [http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.smartmaster.co.il%2FDefault.asp%3FsType%3D0%26PageId%3D77222&amp;amp; shows extracted structured data]&lt;br /&gt;
*** 10 hListings, with &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt; - all as marked up on the page.&lt;br /&gt;
&lt;br /&gt;
== advanced search ==&lt;br /&gt;
Through additional user interfaces:&lt;br /&gt;
* [http://www.google.com/advanced_search Google Advanced Search - Usage rights] supports [[rel-license]] (since 2005(?) citation needed)&lt;br /&gt;
&lt;br /&gt;
== search APIs ==&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== previous support ==&lt;br /&gt;
Google often [http://indiewebcamp.com/Google#Dead_Silos shuts down sites or services], and some of those were implementations.&lt;br /&gt;
=== Social Graph API ===&lt;br /&gt;
[http://code.google.com/apis/socialgraph/ Google Social Graph API] supported [[XFN]] (launched 2008 February). See &amp;quot;[http://socialgraph-resources.googlecode.com/svn/trunk/samples/findyours.html Google Social Graph API How are your sites connected?]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[search-engines]]&lt;br /&gt;
* [[implementations]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=RelMeAuth&amp;diff=70652</id>
		<title>RelMeAuth</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=RelMeAuth&amp;diff=70652"/>
		<updated>2023-07-26T21:36:11Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[RelMeAuth]] is a proposed open standard for using [[rel-me]] links to profiles on [[OAuth]] supporting services to authenticate via either those profiles or your own site.&lt;br /&gt;
&lt;br /&gt;
RelMeAuth is the technology behind [[web-sign-in]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
; &amp;lt;span class=&amp;quot;role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt; &lt;br /&gt;
: &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;url&amp;quot;&amp;gt;http://tantek.com/&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== support RelMeAuth ==&lt;br /&gt;
=== users ===&lt;br /&gt;
See [[web-sign-in]]&lt;br /&gt;
&lt;br /&gt;
Here's a more technical explanation:&lt;br /&gt;
&lt;br /&gt;
'''Use [[rel-me|rel=&amp;quot;me&amp;quot;]] on your personal site, and enter your personal site as your web address on sites with [[web-sign-in]] (RelMeAuth).'''&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
'''1. Add [[rel-me|rel=&amp;quot;me&amp;quot;]] links to your other profiles.'''&lt;br /&gt;
&lt;br /&gt;
Add [[rel-me|rel=&amp;quot;me&amp;quot;]] to links from your home page to your various profiles on other services.&lt;br /&gt;
&lt;br /&gt;
'''2. Edit your other profiles to link back to your site.'''&lt;br /&gt;
&lt;br /&gt;
Edit your other profiles and set their &amp;quot;home page&amp;quot; or &amp;quot;personal site&amp;quot; or &amp;quot;URL&amp;quot; field to your personal site.&lt;br /&gt;
&lt;br /&gt;
Here's a [[hcard-xfn-supporting-friends-lists#Services_with_XFN_rel.3D.22me.22_to_one_external_site|list of profile sites that have URL fields and support rel-me]]. &lt;br /&gt;
&lt;br /&gt;
'''3. There is no step 3. You're done.'''&lt;br /&gt;
&lt;br /&gt;
Now on any site that uses (Web sign-in) / RelMeAuth login (e.g. try [http://tantek.com/relmeauth/ the RelMeAuth prototype]), simply enter your personal site URL, and that site's RelMeAuth code will sign you in by authenticating you with one of the social profiles that you've linked to (e.g. Twitter).&lt;br /&gt;
&lt;br /&gt;
==== examples in the wild ====&lt;br /&gt;
===== simple home page =====&lt;br /&gt;
&lt;br /&gt;
Tantek's home page http://tantek.com/ has (simplified markup)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://twitter.com/t&amp;quot;&amp;gt;Twitter: @t&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://identi.ca/t&amp;quot;&amp;gt;identi.ca: t&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== users with separate contact pages ===&lt;br /&gt;
&lt;br /&gt;
'''But what if I prefer to have a separate contact or about page with my links to other profiles?'''&lt;br /&gt;
&lt;br /&gt;
If you prefer a simpler home page and have it link to a separate contact page that links to your other profiles, then&lt;br /&gt;
&lt;br /&gt;
# add [[rel-me|rel=&amp;quot;me&amp;quot;]] to the link from your home page to your contact page&lt;br /&gt;
# add [[rel-me|rel=&amp;quot;me&amp;quot;]] to links from your contact page to those other profiles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== more examples in the wild ====&lt;br /&gt;
===== separate contact page =====&lt;br /&gt;
&lt;br /&gt;
Jeremy Keith's home page http://adactio.com/ has (simplified markup)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;/journal/&amp;quot;&amp;gt;Journal&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;/contact/&amp;quot;&amp;gt;Contact&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then also:&lt;br /&gt;
&lt;br /&gt;
http://adactio.com/journal/ has (simplified markup)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://huffduffer.com/adactio/&amp;quot;&amp;gt;Huffduffer&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://twitter.com/adactio/&amp;quot;&amp;gt;Twitter&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://adactio.tumblr.com/&amp;quot;&amp;gt;Tumblr&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://www.last.fm/user/adactio/&amp;quot;&amp;gt;Last.fm&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://www.dopplr.com/traveller/adactio/public&amp;quot;&amp;gt;Dopplr&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://www.vimeo.com/user196031&amp;quot;&amp;gt;Vimeo&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://ffffound.com/home/adactio/found/&amp;quot;&amp;gt;Ffffound&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://readernaut.com/adactio&amp;quot;&amp;gt;Readernaut&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a rel=&amp;quot;me&amp;quot; href=&amp;quot;http://97bottles.com/people/adactio/&amp;quot;&amp;gt;97 Bottles&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== authentication preference ====&lt;br /&gt;
If you have a specific preference for what service(s) to authenticate with, just make sure that you list links to your profiles on those other services in preference order (on your home page or contact page as described above).&lt;br /&gt;
&lt;br /&gt;
=== profile sites ===&lt;br /&gt;
Do you run a site with profiles?&lt;br /&gt;
&lt;br /&gt;
Any social network site or similar site that has user profile pages should:&lt;br /&gt;
# provide a [[user interface]] for a user to enter and publicly publish a URL back to their home page&lt;br /&gt;
# publish a visible link with [[rel-me|rel=&amp;quot;me&amp;quot;]] from user's profile page to their personal home page&lt;br /&gt;
&lt;br /&gt;
Most [[hcard-xfn-supporting-friends-lists#Services_with_XFN_rel.3D.22me.22_to_one_external_site|sites already do this]]. &lt;br /&gt;
&lt;br /&gt;
=== authentication sites ===&lt;br /&gt;
Do you run a site with user profiles that you want to let your users use to login to other sites?&lt;br /&gt;
&lt;br /&gt;
In addition to supporting rel-me as [[#profile_sites|described above]]:&lt;br /&gt;
&lt;br /&gt;
Any site that wants to allow users to login with their credentials from that site on 3rd party sites should:&lt;br /&gt;
# Support [[OAuth]] (2.0 even)&lt;br /&gt;
# Follow Twitter's conventions for:&lt;br /&gt;
#* endpoint paths and other protocol details&lt;br /&gt;
#* mimic Twitter's user interface for authentication flow (on both desktop and mobile - they've done a great job)&lt;br /&gt;
&lt;br /&gt;
==== RelMeAuth providers ====&lt;br /&gt;
Sites that support both [[rel-me]] and are also [[OAuth]] providers:&lt;br /&gt;
&lt;br /&gt;
* Twitter ([http://apiwiki.twitter.com/OAuth-Examples Twitter OAuth Examples])&lt;br /&gt;
* Google Profiles ([http://sites.google.com/site/oauthgoog/ Google OAuth documentation])&lt;br /&gt;
* Identi.ca (uses the same endpoint paths/details as Twitter)&lt;br /&gt;
* Github ([http://developer.github.com/v3/oauth/ Github OAuth 2 documentation])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== sites needing a user login ===&lt;br /&gt;
Do you have a site and want to let users login with their own identity?&lt;br /&gt;
&lt;br /&gt;
Any site that wants to let users login with their own identity should:&lt;br /&gt;
# provide a user interface for users to enter or choose their preferred online identity (e.g. their own URL)&lt;br /&gt;
# perform RelMeAuth authentication as described below&lt;br /&gt;
&lt;br /&gt;
== how it works ==&lt;br /&gt;
=== summary algorithm ===&lt;br /&gt;
Summary of the RelMeAuth authentication algorithm&lt;br /&gt;
&lt;br /&gt;
* input: a user identity (URL) to authenticate&lt;br /&gt;
* output: success or cancel authentication or no authenticatable URLs found&lt;br /&gt;
&lt;br /&gt;
# start with a user identity URL (e.g from the UI, or from a cookie from previous login etc.)&lt;br /&gt;
# iterate through their outbound rel-me links on the user identity URL (and any rel-me local subpages if necessary)&lt;br /&gt;
## if&lt;br /&gt;
### a rel-me destination is up (HTTP Get succeeded, following any redirects)&lt;br /&gt;
### and rel-me links back to user identity URL&lt;br /&gt;
### and has OAuth endpoint&lt;br /&gt;
### then do OAuth authentication&lt;br /&gt;
### if authentication succeeded, you're done, the user has been been authenticated with the user identity URL, exit&lt;br /&gt;
### if it was rejected, the user canceled, thus cancel the entire authentication process, exit &lt;br /&gt;
## continue iteration with the next rel-me link if any&lt;br /&gt;
# no authenticatable URLs found (either none at all, or any provided had some other error, 404, no response, no OAuth endpoint, other OAuth error)&lt;br /&gt;
&lt;br /&gt;
=== detailed algorithm ===&lt;br /&gt;
{{main|relmeauth-algorithms}}&lt;br /&gt;
&lt;br /&gt;
* input: a user identity (URL) to authenticate&lt;br /&gt;
* output: success or cancel authentication or no authenticatable URLs found&lt;br /&gt;
&lt;br /&gt;
# start with a user identity URL (e.g from the UI, or from a cookie from previous login etc.)&lt;br /&gt;
## if the identity URL is not user-owned (i.e. at a known silo domain), &lt;br /&gt;
## then&lt;br /&gt;
### the implementation should not accept it, and await user correction of the URL&lt;br /&gt;
### the implementation may accept 1-2 silo domains for testing or demonstration purposes&lt;br /&gt;
# if the URL is an IndieAuth provider &lt;br /&gt;
# then try authenticating with it (we prefer the user's own site for auth)&lt;br /&gt;
## if it succeeds, exit&lt;br /&gt;
## if canceled, exit&lt;br /&gt;
## otherwise continue&lt;br /&gt;
# iterate through their outbound rel-me links on the user identity URL (first through direct rel-me links to external sites in order, then iterate through URLs deeper into the personal site in order, e.g. to a contacts page, and iterate through rel-me links from there to external sites in order, then the next breadth-first local rel-me page from the identity URL if necessary)&lt;br /&gt;
## if&lt;br /&gt;
### a rel-me destination is up (HTTP Get succeeded, following any redirects)&lt;br /&gt;
### and rel-me links back to the user identity URL&lt;br /&gt;
### and has OAuth endpoint&lt;br /&gt;
### then do OAuth authentication&lt;br /&gt;
### if authentication succeeded, you're done, the user has been been authenticated with the user identity URL, exit&lt;br /&gt;
### if it was rejected, the user canceled, thus cancel the entire authentication process, exit &lt;br /&gt;
## continue iteration with the next rel-me link if any&lt;br /&gt;
# no authenticatable URLs found (either none at all, or any provided had some other error, 404, no response, no OAuth endpoint, other OAuth error)&lt;br /&gt;
&lt;br /&gt;
== Error Cases ==&lt;br /&gt;
&lt;br /&gt;
Document things which can go wrong during the relmeauth process along with real world examples and what message should be shown to the end user to help them fix it.&lt;br /&gt;
&lt;br /&gt;
Let '''rel-me-url''' be the URL given by the user.&lt;br /&gt;
&lt;br /&gt;
'''The rel-me-url redirect chain includes a redirect where the scheme changes'''&lt;br /&gt;
* Example: http://brennannovak.com redirects to https://brennannovak.com&lt;br /&gt;
* Why is this a problem? … explain vulnerabilities for both directions here&lt;br /&gt;
* What message should be presented to the user? Two cases:&lt;br /&gt;
** If the insecure redirect only changed the scheme (as in the above example), tell them that they need to enter the https:// version of the URL&lt;br /&gt;
*** Would it be acceptable to automatically restart the process using the secure URL? --[[User:Barnabywalters|bw]] 10:16, 8 October 2013 (UTC)&lt;br /&gt;
*** What warning to give if a https:// URL redirects to a http:// URL? --[[User:Barnabywalters|bw]] 10:16, 8 October 2013 (UTC)&lt;br /&gt;
** Otherwise, let them know there was an insecure redirect, as well as what it was. Bonus: explain how MITM attacks work and why they’re dangerous&lt;br /&gt;
&lt;br /&gt;
'''A reverse rel-me link’s redirect chain includes a redirect where the scheme changes'''&lt;br /&gt;
* Example: …&lt;br /&gt;
* Why is this a problem? …&lt;br /&gt;
* What message should be presented to the user?&lt;br /&gt;
&lt;br /&gt;
== open source implementations ==&lt;br /&gt;
There are a couple of open source libraries that sites can use to implement RelMeAuth so their users can login using their own identities.&lt;br /&gt;
&lt;br /&gt;
=== Go ===&lt;br /&gt;
* https://github.com/hawx/relme-auth&lt;br /&gt;
** Live demo site: https://auth.hawx.me/&lt;br /&gt;
&lt;br /&gt;
=== Node.js ===&lt;br /&gt;
* https://www.npmjs.com/package/relmeauth&lt;br /&gt;
* https://github.com/superfeedr/node-relmeauth&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
* [http://github.com/ptarjan/relmeauth Python RelMeAuth] by Paul Tarjan and Jeff Lindsay&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
* [http://github.com/themattharris/relmeauth PHP RelMeAuth] by Matt Harris and Tantek Çelik&lt;br /&gt;
** Live demo sites: &lt;br /&gt;
*** http://tantek.com/relmeauth/&lt;br /&gt;
*** http://apps.themattharris.com/relmeauth/ (2022-09-15: site appears to be dead)&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
* [https://github.com/aaronpk/IndieAuth.com IndieAuth.com] (deprecated) by Aaron Parecki contains Ruby code for performing RelMeAuth authentication&lt;br /&gt;
** To Do: Separate Ruby gem for Ruby implementation of RelMeAuth&lt;br /&gt;
&lt;br /&gt;
== to do ==&lt;br /&gt;
* update [[web-sign-in]] with some screenshots of  auth screens (e.g. Twitter's OAuth flow with auth/read-only request, no write perms), or a picture of a lock or something.&lt;br /&gt;
* create an Architecture Diagram for RelMeAuth per [http://blog.mozilla.org/security/2012/05/08/speeding-up-security-reviews/ Mozilla Security Blog: Speeding Up Security Reviews]&lt;br /&gt;
* create a Detailed Application Diagram for RelMeAuth per the same[http://blog.mozilla.org/security/2012/05/08/speeding-up-security-reviews/].&lt;br /&gt;
* write-up Data flow enumeration per the same[http://blog.mozilla.org/security/2012/05/08/speeding-up-security-reviews/].&lt;br /&gt;
* write-up a Threat Analysis per the same[http://blog.mozilla.org/security/2012/05/08/speeding-up-security-reviews/].&lt;br /&gt;
* resolve and close issues (see below).&lt;br /&gt;
&lt;br /&gt;
== issues ==&lt;br /&gt;
If this gets too long, we can move it to [[relmeauth-issues]]. As issues are resolved/closed, please move them to [[relmeauth-issues-resolved]]/[[relmeauth-issues-closed]] respectively.&lt;br /&gt;
&amp;lt;div class=&amp;quot;issues&amp;quot;&amp;gt;&lt;br /&gt;
* How do you find the OAuth endpoint for any given user profile site/service? -[[User:Tantek|Tantek]]&lt;br /&gt;
** Use OAuth 2.0 discovery mechanism if supported&lt;br /&gt;
** Use a whitelist of provider site to OAuth endpoint&lt;br /&gt;
** Try the Twitter OAuth endpoint paths on other sites to see if they work - assuming that many OAuth providers will simply mimic Twitter's example as suggested.&lt;br /&gt;
*** This discovery by convention technique will work for example on:&lt;br /&gt;
**** http://identi.ca/&lt;br /&gt;
&lt;br /&gt;
* How do you get an appID to use with any given site's OAuth? -[[User:Tantek|Tantek]]&lt;br /&gt;
** This appears to still be a manual process, per site, and thus a legitimate limitation of RelMeAuth in comparison to say [[OpenID]].&lt;br /&gt;
*** Some services are supporting appkey/secret pair anonymous/anonymous for mobile/desktop apps already.  Unsure how popular this is [[User:Singpolyma|Singpolyma]] 13:51, 23 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
* OAuth is for authorization, and as such gives the site I'm ident asserting to access to my account on the id service.  This is very bad.  Suggested solution: use OpenID instead. [[User:Singpolyma|Singpolyma]] 13:51, 23 April 2010 (UTC)&lt;br /&gt;
** OAuth actually suggests granularity in access rather than blanket access ([http://tools.ietf.org/html/draft-hammer-oauth-10 OAuth IETF draft, see Sec 4.8]): &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;When implementing this protocol, servers should consider the types of access resource owners may wish to grant clients, and should provide mechanisms to do so.  Servers should also take care to ensure that resource owners understand the access they are granting, as well as any risks that may be involved.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;Thus for RelMeAuth purposes, the RelMeAuth &amp;quot;consumer&amp;quot;/library should ask merely for &amp;quot;authentication&amp;quot; rather than read, write, update, or delete access. One exception is the &amp;quot;share&amp;quot; scenario, where a site lets a user RelMeAuth login via another site (e.g. Twitter), and then provides a UI for the user to share from that site to Twitter - in that case request auth/read/write access granularity makes sense. [[User:Tantek|Tantek]] 22:46, 26 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
* After authing with OAuth, how do you know what user it is that auth'd?  OAuth specifically does not tell you that information... [[User:Singpolyma|Singpolyma]] 13:54, 23 April 2010 (UTC)&lt;br /&gt;
** Twitter provides user information via the OAuth token and their API, it is recommended that other OAuth providers follow this API convention while OAuth is evolved to provide to capability. [[User:Tantek|Tantek]] 22:46, 26 April 2010 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== history ==&lt;br /&gt;
On 2010-02-01 Tantek [http://tantek.com/2010/032/t5/modest-proposal-authentication-oauth-twitter-rel-me introduced the basis for] and Jeff Lindsay [http://twitter.com/progrium/status/8521001762 suggested the name] for RelMeAuth.&lt;br /&gt;
&lt;br /&gt;
In a follow-up Tantek [http://tantek.com/2010/032/t6/relmeauth-oauth-rel-me-auto-fallback-authentication suggested the following simple protocol] for RelMeAuth:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote cite=&amp;quot;http://tantek.com/2010/032/t6/relmeauth-oauth-rel-me-auto-fallback-authentication&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
RelMeAuth works for any #OAuth + rel-me site, and enables auto-fallback with use of alternate identities for authentication:&amp;lt;/p&amp;gt;&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;user enters their site URL&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;iterate through their outbound rel-me links&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;if &amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;a rel-me destination is up, and&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; rel-me links back to user's site, and&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;has OAuth endpoint,&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt; then do OAuth authentication.&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&amp;lt;p&amp;gt;Thus user links to their RelMeAuth profiles in preference order, and authentication code tries them in order. e.g. Twitter, Identi.ca, ... etc.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Later that evening Tantek, Jeff Lindsay, Paul Tarjan and others discussed RelMeAuth at the [[events/2010-02-02-weekly-dinner-mv|microformats dinner in Mountain View]] and afterwards Jeff and Paul implemented RelMeAuth in an open source Python library at Hacker Dojo and discussed/tested it in IRC.&lt;br /&gt;
&lt;br /&gt;
http://krijnhoetmer.nl/irc-logs/microformats/20100203&lt;br /&gt;
&lt;br /&gt;
Less than 24 hours from concept to open source implementation.&lt;br /&gt;
&lt;br /&gt;
== articles posts comments ==&lt;br /&gt;
* 2010-03-03 [http://simonwillison.net/2010/Mar/2/bewildering/#c60551  Blaine Cook] comment&lt;br /&gt;
* 2010-02-16 [http://www.google.com/buzz/dclinton/HeMv1AQTXS8/Envisioning-decentralized-replies-and#1266371138608000 Tantek Çelik] comment re: user interface&lt;br /&gt;
* 2010-02-06 [http://aaronparecki.com/RelMeAuth Aaron Parecki] wiki page&lt;br /&gt;
&lt;br /&gt;
== vendor specific sign in ==&lt;br /&gt;
The following vendor specific sign-in methods have succeeded and are in far greater use than previous efforts at user-centric URL identity (e.g. OpenID).&lt;br /&gt;
&lt;br /&gt;
http://hueniverse.com/wp-content/uploads/2009/09/Sign-in-with-Twitter.png&lt;br /&gt;
&lt;br /&gt;
http://4.mshcdn.com/wp-content/uploads/2009/04/facebook-twitter-connect.gif&lt;br /&gt;
&lt;br /&gt;
* Sign in with Twitter&lt;br /&gt;
** 2009-04-16 [http://hueniverse.com/2009/04/introducing-sign-in-with-twitter-oauth-style-connect/ Introducing ‘Sign-in with Twitter’, OAuth-Style “Connect”]&lt;br /&gt;
** [https://dev.twitter.com/docs/auth/sign-twitter Sign in with Twitter developer home page]&lt;br /&gt;
** [https://dev.twitter.com/docs/sign-twitter-resources Sign in with Twitter Resources] (more/latest buttons)&lt;br /&gt;
* Connect with Facebook&lt;br /&gt;
** ...&lt;br /&gt;
See articles comparing/contrasting them:&lt;br /&gt;
* 2009-04-18 [http://mashable.com/2009/04/18/twitter-facebook-connect/ Facebook Connect vs. Sign in with Twitter: Fight!]&lt;br /&gt;
User-facing [[web-sign-in]] functionality (including &amp;quot;( Web sign-in )&amp;quot; button graphic) must be at least as simple, easy, and trustworthy as the these vendor specific sign in methods.&lt;br /&gt;
&lt;br /&gt;
== related ==&lt;br /&gt;
* [[rel-me]]&lt;br /&gt;
* [[OAuth]]&lt;br /&gt;
* [[hCard]]&lt;br /&gt;
* [[OpenID]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-license&amp;diff=70651</id>
		<title>rel-license</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-license&amp;diff=70651"/>
		<updated>2023-07-26T21:35:04Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:rel=&amp;quot;license&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;entry-summary&amp;quot;&amp;gt;Rel-License is a simple, open, format for indicating content licenses which is  embedable in HTML or XHTML, Atom, RSS, and arbitrary XML. Rel-License is one of several [[microformats|microformat]] open standards.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Specification 2005-02-06 ==&lt;br /&gt;
=== Author ===&lt;br /&gt;
[http://tantek.com/ Tantek Çelik] ([http://technorati.com Technorati, Inc.], formerly of [http://microsoft.com/ Microsoft Corporation])&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
Per the public domain release on [[User:Tantek|my user page]], this specification is released into the public domain.&lt;br /&gt;
&lt;br /&gt;
{{MicroFormatPublicDomainContributionStatement}}&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
Rel-License is one of several microformats.  By adding &amp;lt;code&amp;gt;rel=&amp;quot;license&amp;quot;&amp;lt;/code&amp;gt; to a hyperlink, a page indicates that the destination of that hyperlink is a license for the current page. E.g. with the following hyperlink:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by/2.0/&amp;quot; rel=&amp;quot;license&amp;quot;&amp;gt;cc by 2.0&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the author indicates that the page is licensed under a Creative Commons 2.0 Attribution Required license.&lt;br /&gt;
&lt;br /&gt;
== Multiple Licenses ==&lt;br /&gt;
Multiple such rel=&amp;quot;license&amp;quot; hyperlinks indicate that the page is available under any of the referred licenses.  E.g. the following hyperlinks could be used to declare that a page is available under either a Creative Commons 2.0 Attribution Required license or the Apache 2.0 license:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by/2.0/&amp;quot; rel=&amp;quot;license&amp;quot;&amp;gt;cc by 2.0&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://www.apache.org/licenses/LICENSE-2.0&amp;quot; rel=&amp;quot;license&amp;quot;&amp;gt;Apache 2.0&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XMDP profile ==&lt;br /&gt;
The following is an [http://gmpg.org/xmdp/ XMDP] profile for the [[rel-license]] specification.&lt;br /&gt;
&lt;br /&gt;
=== URLs ===&lt;br /&gt;
This profile is hosted as a separate XMDP file on microformats.org:&lt;br /&gt;
* http://microformats.org/profile/rel-license&lt;br /&gt;
* shortURL: http://ufs.cc/x/rel-license&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
Profiles are referenced in (X)HTML files in the &amp;amp;lt;HEAD&amp;amp;gt; tag, e.g.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head profile='http://microformats.org/profile/rel-license'&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profile ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl class=&amp;quot;profile&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;dt id=&amp;quot;rel&amp;quot;&amp;gt;rel&amp;lt;/dt&amp;gt;&lt;br /&gt;
 &amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
   &amp;lt;a rel=&amp;quot;help&amp;quot; href=&amp;quot;http://www.w3.org/TR/html401/struct/links.html#adef-rel&amp;quot;&amp;gt;&lt;br /&gt;
     HTML4 definition of the 'rel' attribute.&amp;lt;/a&amp;gt;  &lt;br /&gt;
   Here is an additional value as defined in the&lt;br /&gt;
   &amp;lt;a rel=&amp;quot;help start&amp;quot; href=&amp;quot;http://microformats.org/wiki/rel-license&amp;quot;&amp;gt;&lt;br /&gt;
   rel-license specification&amp;lt;/a&amp;gt; &lt;br /&gt;
   .&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;dl&amp;gt;&lt;br /&gt;
   &amp;lt;dt id=&amp;quot;license&amp;quot;&amp;gt;license&amp;lt;/dt&amp;gt;&lt;br /&gt;
   &amp;lt;dd&amp;gt;Indicates that the referred resource is a license for the referring page.&amp;lt;/dd&amp;gt;&lt;br /&gt;
  &amp;lt;/dl&amp;gt;&lt;br /&gt;
 &amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
* [http://www.webstandards.org/action/dwtf/microformats/ Dreamweaver Extension suite] from the [http://webstandards.org/ Web Standards Project] enables the authoring of rel-license links from within Dreamweaver 8. Includes (cc) defaults.&lt;br /&gt;
* [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding rel license and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].&lt;br /&gt;
* [http://creativecommons.org/license/ Creative Commons (cc) license chooser]&lt;br /&gt;
* [http://search.yahoo.com/cc Yahoo! (cc) search] (appears to pick up link-rel in a but not link elements)&lt;br /&gt;
* [http://www.google.com/support/bin/answer.py?answer=29508 Google &amp;quot;Usage Rights&amp;quot; search] (also appears to pick up link-rel in a but not link elements)&lt;br /&gt;
&lt;br /&gt;
== List of Licenses ==&lt;br /&gt;
* [http://creativecommons.org CC]&lt;br /&gt;
* [http://www.opensource.org/licenses/ Open Source Initiative] licenses -- mostly software-focused&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
Articles about rel-license, most recent first. When this section gets too big, we can move it to [[rel-license-articles]].&lt;br /&gt;
* (undated) [http://reference.sitepoint.com/html/rel-mf#rel__license SitePoint reference: rel- Microformats / license] by Ian Lloyd&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* 2004-02-11 rel=&amp;quot;license&amp;quot; first proposed in presentation [http://tantek.com/presentations/2004etech/realworldsemanticspres.html real world semantics] at 2004 O'Reilly Emerging Technologies Conference, San Diego, CA, USA.&lt;br /&gt;
* 2004-02-25 [http://tantek.com/log/2004/02.html#d25t1805 Thorough discussion of rel=&amp;quot;license&amp;quot;] including advantages and presentation possibilities. &lt;br /&gt;
* [http://creativecommons.org/licenses/by/2.0/ Creative Commons 2.0 By (Attribution Required) license]&lt;br /&gt;
* [http://www.apache.org/licenses/LICENSE-2.0 Apache 2.0 license]&lt;br /&gt;
* Contributed from &amp;lt;nowiki&amp;gt;http://developers.technorati.com/wiki/RelLicense&amp;lt;/nowiki&amp;gt; ([https://web.archive.org/web/20050321015449/http://developers.technorati.com/wiki/RelLicense 2005-03-21 Internet Archive version])&lt;br /&gt;
* [http://microformatique.com/?p=60 Know your rel-license at Microformatique]&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[rel-license-issues]] - issues which have been raised with this microformat.&lt;br /&gt;
* [[rel-faq]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:rel-license]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-alternate&amp;diff=70650</id>
		<title>rel-alternate</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-alternate&amp;diff=70650"/>
		<updated>2023-07-26T21:33:33Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Special Combinations ==&lt;br /&gt;
While &amp;lt;code&amp;gt;rel=&amp;quot;alternate&amp;quot;&amp;lt;/code&amp;gt; does by itself mean that the destination is some alternate representation or version of the current page, it combines in special ways with other &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; values and other attributes to provide different more specific meanings, in particular:&lt;br /&gt;
&lt;br /&gt;
=== With &amp;lt;code&amp;gt;rel stylesheet&amp;lt;/code&amp;gt; ===&lt;br /&gt;
==== Alternate stylesheets ====&lt;br /&gt;
&amp;lt;code&amp;gt;rel=&amp;quot;alternate stylesheet&amp;quot;&amp;lt;/code&amp;gt; is [http://www.w3.org/TR/html4/present/styles.html#h-14.3.1 how you provide an alternate stylesheet] for the document. Note that the stylesheet is ''not'' an alternate representation of the current page.&lt;br /&gt;
&lt;br /&gt;
=== With &amp;lt;code&amp;gt;hreflang&amp;lt;/code&amp;gt; ===&lt;br /&gt;
==== Alternate language versions ====&lt;br /&gt;
When used in combination with the &amp;lt;code&amp;gt;hreflang&amp;lt;/code&amp;gt; attribute (with a value other than that of the document itself), &amp;lt;code&amp;gt;rel=&amp;quot;alternate&amp;quot;&amp;lt;/code&amp;gt; means a link to a version of the current document, but in the language indicated by the &amp;lt;code&amp;gt;hreflang&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Example from http://gmpg.org/xfn/creator :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link href=&amp;quot;creator-fr&amp;quot; rel=&amp;quot;alternate&amp;quot; hreflang=&amp;quot;fr&amp;quot; title=&amp;quot;Cr&amp;amp;eacute;ateur XFN 1.1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also: [http://support.google.com/webmasters/bin/answer.py?hl=en&amp;amp;answer=189077 Google Webmaster Tools Help: rel=&amp;quot;alternate&amp;quot; hreflang=&amp;quot;x&amp;quot;] and [[hreflang]]&lt;br /&gt;
&lt;br /&gt;
=== With &amp;lt;code&amp;gt;media&amp;lt;/code&amp;gt; ===&lt;br /&gt;
==== Alternate devices and media ====&lt;br /&gt;
When used in combination with the &amp;lt;code&amp;gt;media&amp;lt;/code&amp;gt; attribute, &amp;lt;code&amp;gt;rel=&amp;quot;alternate&amp;quot;&amp;lt;/code&amp;gt; means a link to a version of the current document, especially for the specified device or medium indicated by the &amp;lt;code&amp;gt;media&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
For example, this is one possible way of linking to a site's mobile version:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://m.twitter.com&amp;quot; rel=&amp;quot;alternate&amp;quot; media=&amp;quot;handheld&amp;quot;&amp;gt;Twitter mobile site&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== With &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; ===&lt;br /&gt;
==== Page Feed ====&lt;br /&gt;
&lt;br /&gt;
When used in combination with the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute (with a value other than that of the document itself; e.g. other than &amp;lt;code&amp;gt;&amp;quot;text/html&amp;quot;&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;rel=&amp;quot;alternate&amp;quot;&amp;lt;/code&amp;gt; means a link to a representation of the contents of the current document in a different format, as designated by the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/rss+xml&amp;quot; href=&amp;quot;.rss&amp;quot;&lt;br /&gt;
      title=&amp;quot;RSS feed for this page&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/atom+xml&amp;quot; href=&amp;quot;.atom&amp;quot;&lt;br /&gt;
      title=&amp;quot;Atom feed for this page&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/activitystream+json&amp;quot; href=&amp;quot;.as&amp;quot;&lt;br /&gt;
      title=&amp;quot;Activity Streams JSON feed for this page&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== With &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rel home&amp;lt;/code&amp;gt; ===&lt;br /&gt;
==== Site Feed ====&lt;br /&gt;
{{main|rel-home#use_with_rel-alternate}}&lt;br /&gt;
&lt;br /&gt;
'''Proposed:''' &lt;br /&gt;
When used in combination with the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute (with a value other than that of the document itself, e.g. other than &amp;lt;code&amp;gt;&amp;quot;text/html&amp;quot;&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;rel=&amp;quot;alternate home&amp;quot;&amp;lt;/code&amp;gt; means a link to a representation of the contents of the ''site'' (the home page for the current page) in a different format, as designated by the &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate home&amp;quot; type=&amp;quot;application/rss+xml&amp;quot; href=&amp;quot;.rss&amp;quot;&lt;br /&gt;
      title=&amp;quot;RSS feed for this site&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate home&amp;quot; type=&amp;quot;application/atom+xml&amp;quot; href=&amp;quot;.atom&amp;quot;&lt;br /&gt;
      title=&amp;quot;Atom feed for this site&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;alternate home&amp;quot; type=&amp;quot;application/activitystream+json&amp;quot; href=&amp;quot;.as&amp;quot;&lt;br /&gt;
      title=&amp;quot;Activity Streams JSON feed for this site&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[existing-rel-values]]&lt;br /&gt;
* [[rel-faq]]&lt;br /&gt;
* [[rel-home]], in particular [[rel-home#use_with_rel-alternate|rel-home with rel-alternate proposal]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2-faq&amp;diff=70649</id>
		<title>microformats2-faq</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2-faq&amp;diff=70649"/>
		<updated>2023-07-26T21:32:02Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:microformats2 FAQ}}&lt;br /&gt;
&lt;br /&gt;
Frequently asked questions about [[microformats2]].&lt;br /&gt;
&lt;br /&gt;
== when using both h-card and vcard which should be first and why ==&lt;br /&gt;
Q: When using both microformats2 and traditional microformats for backwards compatibility, which class name should go first and why?&lt;br /&gt;
Another example: should &amp;quot;h-event&amp;quot; be first (before the &amp;quot;vevent&amp;quot;) in the class attribute?&lt;br /&gt;
&lt;br /&gt;
A: '''Use the microformats2 class names first,''' and in equivalent pairs when marking up more than one property. E.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn p-org org u-url url&amp;quot; &lt;br /&gt;
     href=&amp;quot;http://microformats.org/&amp;quot;&amp;gt;microformats.org&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-event vevent&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name summary u-url url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://plancast.com/p/e83d&amp;quot;&amp;gt;microformats meetup SF&amp;lt;/a&amp;gt;, &lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-start dtstart&amp;quot;&amp;gt;2012-11-14 18:00&amp;lt;/time&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here's how: &lt;br /&gt;
* [[microformats2#backward_compatible|using microformats2 and backward compatible microformats]].&lt;br /&gt;
&lt;br /&gt;
And why:&lt;br /&gt;
* The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition (as class names ''for'' microformats), 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 moved or maintained over time.&lt;br /&gt;
&lt;br /&gt;
== why are microformats2 properties prefixed ==&lt;br /&gt;
{{main|prefixes}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;why_are_microformats_2_properties_prefixed&amp;quot;&amp;gt;Q: Why do microformats2 property class names have prefixes like 'p-', 'u-', 'dt-', 'e-' ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: For the benefit of both web authors and developers of parsers/consumers. By using class names with a small handful of short easily recognizable prefixes, it's easier to see which class names belong to microformats, and which may serve other purposes on the page. This helps web designers better recognize and maintain support for microformats across site redesigns for example. In particular:&lt;br /&gt;
* The 'p-' prefix is for typical string properties and parsing thereof. &lt;br /&gt;
* 'u-' is for URL-like properties whose values often come from another attribute such as the &amp;amp;lt;a&amp;gt; 'href' or &amp;amp;lt;img&amp;gt; 'src'. &lt;br /&gt;
* 'dt-' is for date and time related properties that have a particular format themselves, and ideally should make good use of the HTML5 &amp;amp;lt;time&amp;gt; element, though for backward compatibility they work on any element. &lt;br /&gt;
* Finally, 'e-' is for properties whose value is the entirety of the text and HTML inside an element, as represented by the element's DOM. The 'e-entry-content' property from hAtom for example permits marking up and parsing/extracting an entire post from an HTML blog post page to an Atom feed entry with full markup/DOM fidelity of the original post.&lt;br /&gt;
Since prefixes determine specific parsing rules, parser developers are able to write simple and efficient generic microformats2 parsers without needing to know any specific vocabularies, either currently or in the future. These are both advantages of microformats2 over original microformats. For more details, including why and how microformats2 class name prefixes were developed, see: [[microformats2-prefixes]].&lt;br /&gt;
&lt;br /&gt;
== how do you use experimental microformats and property names ==&lt;br /&gt;
I.e. what is the correct way to start using experimental microformats and property names in microformats2?&lt;br /&gt;
&lt;br /&gt;
Documented primarily as [[microformats2#VENDOR_EXTENSIONS|microformats2 vendor extensions]], here's a quick summary:&lt;br /&gt;
&lt;br /&gt;
There are two cases:&lt;br /&gt;
&lt;br /&gt;
'''1. Vendor-specific''' - extensions that either only make sense in or have a very specific detailed or other meaning (e.g. a shibboleth) in a particular company or organizational context.&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;-vendorabbr-&amp;lt;/code&amp;gt; immediately after a microformats2 prefix, where &amp;quot;vendorabbr&amp;quot; is an abbreviation for the company (e.g. stock symbol) or organiztion. E.g.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-goog-volcano&amp;lt;/code&amp;gt; for a proprietary &amp;quot;volcano&amp;quot; object&lt;br /&gt;
* &amp;lt;code&amp;gt;p-osm-shop&amp;lt;/code&amp;gt; for an OSM-site specific &amp;quot;shop&amp;quot; property&lt;br /&gt;
&lt;br /&gt;
See '''[[vendor-prefixes]]''' for currently used and proposed vendor-prefixes (in case there already is one for the vendor-specific stuff you want to publish or consume, re-use instead of reinvent etc.).&lt;br /&gt;
&lt;br /&gt;
'''2. Experimental''' - ideas that authors/developers want to experiment with in the wild without going through the microformats [[process]] to craft well-researched microformats and property names. Or for experimental formats that you're not even sure would be worth trying to standardize, may apply to a narrow / small community etc. (which might still grow as a result of experimentation, and thus eventually merit a format).&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; immediately after a microformats2 prefix, e.g.:&lt;br /&gt;
* &amp;lt;code&amp;gt;h-x-test-fixture&amp;lt;/code&amp;gt; for an experimental &amp;quot;text-fixture&amp;quot; format (e.g. for a [[test-suite]]).&lt;br /&gt;
* &amp;lt;code&amp;gt;p-x-prep-time&amp;lt;/code&amp;gt; - a possible experimental preparation time property to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
== how do h-adr and h-geo work with an implied name property ==&lt;br /&gt;
&lt;br /&gt;
Q: Some microformats like h-adr and h-geo are usually used  as just collections of properties and typically lack explicit names or &amp;quot;p-name&amp;quot; properties. How does the implied &amp;quot;name&amp;quot; property work with such microformats?&lt;br /&gt;
&lt;br /&gt;
A: First, there is the use-case of named locations which aren't necessarily full h-card venues in and of themselves. For named locations, the name is published in visible text and should be marked up with e.g. class=&amp;quot;p-name&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Other h-adr and h-geo microformats which lack an explicit name will have a name implied for them (e.g. from the full text of the element including all such visible property values in document order).&lt;br /&gt;
&lt;br /&gt;
While at first it may seem silly to create a name for something which is merely an address or a latitude+longitude geolocation, there are some good reasons to imply a name even for such collections of properties.&lt;br /&gt;
&lt;br /&gt;
Locations are often shown in a list (e.g. by [http://indiewebcamp.com/checkin Checkin] interfaces and applications). Lists showing all the locations on a page (e.g. all its h-card, h-adr, h-geo microformats) need labels for each item. The name of a location (whether explicit or implied) serves as the presentational label/title for that location in such lists.&lt;br /&gt;
&lt;br /&gt;
Checkin location lists are just one use-case, there are many more. Any kind of page summarization tool (e.g. validators, linters) or anything which presents an interface to summaries of a page (e.g. web search results) benefits from having an explicit automatic way to determine how to label each and every microformat data item on a page.&lt;br /&gt;
&lt;br /&gt;
Every such list of data items needs to label the items, and rather than just calling them &amp;quot;untitled item 1&amp;quot; etc., using the actual visible content of the item provides a nice clear connection to the specific item. Since the implied name comes directly from a snippet of text authored by a human, in the order that the human authored it as they intended it to be read (listened to), it will make sense as a label as well.&lt;br /&gt;
&lt;br /&gt;
If an author explicitly wants an empty label for their microformat, while not recommended, they can explicitly specify as such: &amp;lt;code&amp;gt;&amp;amp;lt;span class=&amp;quot;p-name&amp;quot;&amp;gt;&amp;amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In practice this has yet to be seen, thus for now, any concerns about awkward or confusing implied names for things like h-adr or h-geo are categorized as a &amp;quot;theoretical issue&amp;quot;. If someone finds a real world example where the implied &amp;quot;name&amp;quot; causes a bad user experience in some actual use-case, then we can re-explore this topic.&lt;br /&gt;
&lt;br /&gt;
== how does microformats2 separate syntax and vocabularies ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;does_microformats_2_split_vocabularies_and_syntax&amp;quot;&amp;gt;Q: How does microformats2 separate syntax and vocabularies?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: microformats2 [[microformats2-parsing|specifies a syntax for parsing microformats]] which is independent of any specific vocabulary such as [[h-card]], [[h-entry]], or [[h-event]], each of which themselves defines vocabularies and backward compatibility handling for their classic microformats equivalents. Thus microformats2 separates specific vocabularies and syntax, whereas classic microformats combined the rules for parsing and specific vocabularies. There are three common property names (name, url, photo) determined from common markup patterns that the generic parsing algorithm is specified to imply. These apply across all vocabularies and thus are not dependent on any specific vocabulary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;does_microformats_2_combine_vocabularies_and_syntax&amp;quot;&amp;gt;Q: Does microformats2 combine vocabularies and syntax?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: No. From a parsing perspective, microformats2 syntax is independent of any particular vocabulary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== are microformats2 vocabularies available to other languages ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;are_microformats_2_vocabularies_available_to_other_languages&amp;quot;&amp;gt;Q: Are microformats2 vocabularies available to other languages?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: ''Existing'' microformats vocabularies have [http://microformats.org/profile profiles] which are already available to other languages. Each term is defined by a URL ending in a hash and the term. This is due to the design of [[XMDP]] which deliberately produces such URLs which are compatible with microdata, RDF, and any other LinkedData system. microformats2 vocabularies will use the same profile format and thus also be available to other languages.&lt;br /&gt;
&lt;br /&gt;
== how do you convert a microformats2 example to RDFa syntax ==&lt;br /&gt;
&amp;lt;span id=&amp;quot;how_do_you_convert_a_microformats_2_example_to_RDFa_syntax&amp;quot;&amp;gt;Q: How do you convert a microformats2 example to RDFa 1.1 syntax?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A: In short you may use the 'typeof' attribute for the microformats2 root class name, and use the 'property' attribute for microformats2 properties.&lt;br /&gt;
&lt;br /&gt;
E.g. this from the microformats2 page:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;p-name&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-given-name&amp;quot;&amp;gt;Chris&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;p-additional-name&amp;quot;&amp;gt;R.&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-family-name&amp;quot;&amp;gt;Messina&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the same markup with RDFa 1.1 syntax, using an implied or explicit RDFa Profile from somewhere else (undefined):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h1 typeof=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span property=&amp;quot;p-name&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span property=&amp;quot;p-given-name&amp;quot;&amp;gt;Chris&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;abbr property=&amp;quot;p-additional-name&amp;quot;&amp;gt;R.&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;span property=&amp;quot;p-family-name&amp;quot;&amp;gt;Messina&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The similarity of these two markup examples implies that it may be possible to extend RDFa 1.1 compliant parsers to become compliant microformats2 parsers.&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]]&lt;br /&gt;
* [[microformats2-experimental-properties]]&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70648</id>
		<title>microformats2</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=microformats2&amp;diff=70648"/>
		<updated>2023-07-26T21:30:17Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:microformats2}}&lt;br /&gt;
Welcome to the microformats2 home page.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Microformats2 is the latest version of microformats, the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for &amp;lt;em&amp;gt;both&amp;lt;/em&amp;gt; authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).&lt;br /&gt;
&lt;br /&gt;
Microformats2 replaces and supersedes both classic microformats (sometimes called microformats1), as well as incorporates lessons learned from [[microdata]] and [[RDFa]].&lt;br /&gt;
&lt;br /&gt;
=== simple microformats2 examples ===&lt;br /&gt;
Here are a few &amp;lt;span id=&amp;quot;simple_microformats_2_examples&amp;quot;&amp;gt;simple microformats2 examples&amp;lt;/span&amp;gt; along with canonical [[JSON]].&lt;br /&gt;
&lt;br /&gt;
==== person example ====&lt;br /&gt;
* Simple person reference:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Frances Berriman&amp;quot;] &lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person ====&lt;br /&gt;
* Simple hyperlinked person reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Ben Ward&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://benward.me&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== hyperlinked person image ====&lt;br /&gt;
* Simple hyperlinked person image&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://rohit.khare.org/&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Rohit Khare&amp;quot;&lt;br /&gt;
      src=&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Rohit Khare&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://rohit.khare.org/&amp;quot;],&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple cases details in [[microformats-2-implied-properties]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== detailed person example ====&lt;br /&gt;
* More detailed person&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;u-photo&amp;quot; alt=&amp;quot;photo of Mitchell&amp;quot;&lt;br /&gt;
       src=&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt;&lt;br /&gt;
 (&amp;lt;a class=&amp;quot;u-url&amp;quot; &lt;br /&gt;
     href=&amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
    &amp;gt;@MitchellBaker&amp;lt;/a&amp;gt;)&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-note&amp;quot;&amp;gt;&lt;br /&gt;
    Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Strategy&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-category&amp;quot;&amp;gt;Leadership&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;photo&amp;quot;: [&amp;quot;https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg&amp;quot;],&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&lt;br /&gt;
        &amp;quot;http://blog.lizardwrangler.com/&amp;quot;,&lt;br /&gt;
        &amp;quot;https://twitter.com/MitchellBaker&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
      &amp;quot;note&amp;quot;: [&amp;quot;Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.&amp;quot;],&lt;br /&gt;
      &amp;quot;category&amp;quot;: [&lt;br /&gt;
        &amp;quot;Strategy&amp;quot;,&lt;br /&gt;
        &amp;quot;Leadership&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== details from examples ===&lt;br /&gt;
Details demonstrated by the examples:&lt;br /&gt;
# The JSON &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; uses the full microformat root class name (e.g. &amp;lt;code&amp;gt;&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt;) for consistent identification.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
=== microformats2 design ===&lt;br /&gt;
&lt;br /&gt;
microformats2 has the following key design aspects:&lt;br /&gt;
&lt;br /&gt;
; Prefixes for class names&lt;br /&gt;
: All microformats class names use prefixes. Prefixes are '''syntax independent from vocabularies''', which are developed separately.&lt;br /&gt;
* &amp;lt;code&amp;gt;h-*&amp;lt;/code&amp;gt; for root class names (e.g. &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; for plain text properties (e.g. &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;u-*&amp;lt;/code&amp;gt; for URL properties (e.g. &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-*&amp;lt;/code&amp;gt; for date/time properties (e.g. &amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;e-*&amp;lt;/code&amp;gt; for embedded markup properties (e.g. &amp;lt;code&amp;gt;e-note&amp;lt;/code&amp;gt;)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-prefixes]] for more details.&lt;br /&gt;
&lt;br /&gt;
; Flat sets of optional properties&lt;br /&gt;
: 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).&lt;br /&gt;
&lt;br /&gt;
; Single class markup for common uses&lt;br /&gt;
: Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;. The simple microformats2 examples above demonstrate these.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Parsing each prefix (including generating canonical JSON) is detailed step-by-step in:&lt;br /&gt;
* The '''[[microformats2-parsing|microformats2 parsing specification]]'''&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Most properties are specified and used with a single specific prefix (or occasionally two or three) that is self-evident from context. However, any parsing prefix can be used with any property, especially if you find a good reason to do so!&lt;br /&gt;
&lt;br /&gt;
== v2 vocabularies ==&lt;br /&gt;
Status: '''&amp;lt;span id=&amp;quot;draft_v2_vocabularies&amp;quot;&amp;gt;draft&amp;lt;/span&amp;gt;'''. Please review and provide feedback in [[IRC]].&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-item]]&lt;br /&gt;
* [[h-listing]]&lt;br /&gt;
* [[h-product]]&lt;br /&gt;
* [[h-recipe]]&lt;br /&gt;
* [[h-resume]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[h-review-aggregate]]&lt;br /&gt;
&lt;br /&gt;
See below for vocabulary summaries.&lt;br /&gt;
&lt;br /&gt;
=== h-adr ===&lt;br /&gt;
{{main|h-adr}}&lt;br /&gt;
&lt;br /&gt;
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-adr&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;adr&amp;quot;&amp;gt;adr&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;post-office-box&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-card ===&lt;br /&gt;
{{main|h-card}}&lt;br /&gt;
&lt;br /&gt;
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-card&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-prefix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-given-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-additional-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-family-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sort-string&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-honorific-suffix&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nickname&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-email&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-logo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-adr&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' or '''&amp;lt;code&amp;gt;u-geo&amp;lt;/code&amp;gt;''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tel&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-note&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-bday&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-key&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-org&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-job-title&amp;lt;/code&amp;gt;''' - previously 'title' in hCard, disambiguated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-role&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-impp&amp;lt;/code&amp;gt;''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-sex&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-gender-identity&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-anniversary&amp;lt;/code&amp;gt;''' new in [[vCard4]] ([[RFC6350]])&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved properties: (properties not used much (if at all) in practice)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organization-unit&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-tz&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-rev&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-card&amp;quot; is found, don't look for a &amp;quot;vcard&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vcard&amp;quot;&amp;gt;vcard&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-prefix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;given-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;additional-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;family-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;honorific-suffix&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;logo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-adr h-adr&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;extended-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;street-address&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;locality&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;region&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;postal-code&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;country-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;label&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root class &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tel&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bday&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;org&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-name&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;organization-unit&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; - parse as '''p-job-title'''&lt;br /&gt;
* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:&lt;br /&gt;
* &amp;lt;code&amp;gt;tz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== h-entry ===&lt;br /&gt;
{{main|h-entry}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-entry&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' (was p-entry-title, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' (was p-entry-summary, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (was e-entry-content, see issues)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hAtom]]. &lt;br /&gt;
&lt;br /&gt;
Brainstorming:&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-video&amp;lt;/code&amp;gt;''' - consider special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - for links to other posts that this post is a reply to (comment regarding, etc.)&lt;br /&gt;
&lt;br /&gt;
Backward compatibility: &lt;br /&gt;
&lt;br /&gt;
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For hAtom backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-entry&amp;quot; is found, don't look for a &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;h-entry-faq&amp;quot;&amp;gt;FAQ:&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [http://indiewebcamp.com/note note]?'''&lt;br /&gt;
** A few options, from simplest to most detailed.&lt;br /&gt;
*** '''same as the p-content/e-content''' property.&lt;br /&gt;
*** '''same as the &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
*** '''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 &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;.&lt;br /&gt;
* ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolved Issues:&lt;br /&gt;
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;p-entry-summary&amp;lt;/code&amp;gt;'''. The historical semantic of &amp;quot;entry-summary&amp;quot; is not different from &amp;quot;summary&amp;quot; in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.&lt;br /&gt;
** Use '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;e-entry-content&amp;lt;/code&amp;gt;'''. Same point and advantage. In microformats2, entry-content is no more.&lt;br /&gt;
** '''drop &amp;lt;code&amp;gt;p-entry-title&amp;lt;/code&amp;gt;'''. Unnecessary and subsumed by &amp;quot;p-name&amp;quot;. Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.&lt;br /&gt;
&lt;br /&gt;
=== h-event ===&lt;br /&gt;
{{main|h-event}}&lt;br /&gt;
&lt;br /&gt;
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-event&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''(*)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
This is an update to [[hCalendar]]. &lt;br /&gt;
&lt;br /&gt;
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-geo h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== h-geo ===&lt;br /&gt;
{{main|h-geo}}&lt;br /&gt;
&lt;br /&gt;
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-geo&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;geo&amp;quot;&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;latitude&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;longitude&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== h-item ===&lt;br /&gt;
{{main|h-item}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-item&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of &amp;quot;h-item&amp;quot; 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 &amp;quot;h-item&amp;quot; and its contained content/elements if any).&lt;br /&gt;
&lt;br /&gt;
=== h-product ===&lt;br /&gt;
{{main|h-product}}&lt;br /&gt;
&lt;br /&gt;
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-product&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-product&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-brand&amp;lt;/code&amp;gt;''' - manufacturer, can also be a nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the product&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-identifier&amp;lt;/code&amp;gt;''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-review&amp;lt;/code&amp;gt;''' - a review of the product, can also be a nested &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-price&amp;lt;/code&amp;gt;''' - retail price of the product&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-product&amp;quot; is found, don't look for an &amp;quot;hproduct&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hproduct&amp;quot;&amp;gt;hproduct&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;brand&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;identifier&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;review&amp;lt;/code&amp;gt; - including compat root class &amp;lt;code&amp;gt;hreview&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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'''&lt;br /&gt;
&lt;br /&gt;
=== h-recipe ===&lt;br /&gt;
{{main|h-recipe}}&lt;br /&gt;
&lt;br /&gt;
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-recipe&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-recipe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - the name of the recipe&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-ingredient&amp;lt;/code&amp;gt;''' - describes one or more ingredients used in the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-yield&amp;lt;/code&amp;gt;''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-instructions&amp;lt;/code&amp;gt;''' - the method of the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - the time it takes to prepare the meal described by the recipe.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - an accompanying image&lt;br /&gt;
&lt;br /&gt;
Experimental properties with wide adoption&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''  - provides a short summary or introduction &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - the person who wrote the recipe with &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - the date the recipe was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-nutrition&amp;lt;/code&amp;gt;''' - nutritional information like calories, fat, dietary fiber etc.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-recipe&amp;quot; is found, don't look for an &amp;quot;hrecipe&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hrecipe&amp;quot;&amp;gt;hrecipe&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;ingredient&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yield&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;instructions&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt;  - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nutrition&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== h-resume ===&lt;br /&gt;
{{main|h-resume}}&lt;br /&gt;
&lt;br /&gt;
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-resume&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-resume&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - overview of qualifications and objectives&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-contact&amp;lt;/code&amp;gt;''' - current contact info in an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-education&amp;lt;/code&amp;gt;''' - an education &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the school, location.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-experience&amp;lt;/code&amp;gt;''' - a job or other professional experience &amp;lt;code&amp;gt;h-calendar&amp;lt;/code&amp;gt; event, years, nested &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; of the organization, location, job-title.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-skill&amp;lt;/code&amp;gt;''' - a skill or ability, optionally including level and/or duration of experience&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-affiliation&amp;lt;/code&amp;gt;''' - an affiliation with an &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt; organization&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-resume&amp;quot; is found, don't look for an &amp;quot;hresume&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hresume&amp;quot;&amp;gt;hresume&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;education&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;experience&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vevent&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;affiliation&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== h-review ===&lt;br /&gt;
{{main|h-review}}&lt;br /&gt;
&lt;br /&gt;
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt;''' - person who authored the review &lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt;''' - date time of when the review was written&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hreview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview&amp;quot;&amp;gt;hreview&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== h-review-aggregate ===&lt;br /&gt;
{{main|h-review-aggregate}}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
root class name: '''&amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
profile/itemtype: &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-review-aggregate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - 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).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating average rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - number of reviews aggregated.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - number of reviewers who have rated the product, thus contributing to the average rating.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the review&lt;br /&gt;
&lt;br /&gt;
For backward compatibility, microformats2 parsers {{should}} detect the following root class name and property names. A microformats2 parser may use existing classic microformats [[parsers]] to extract these properties. If an &amp;quot;h-review-aggregate&amp;quot; is found, don't look for an &amp;quot;hreview-aggregate&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/code&amp;gt; - parse as '''p-category'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab notes ===&lt;br /&gt;
Notes: &lt;br /&gt;
* 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 &amp;quot;p-&amp;quot;, &amp;quot;u-&amp;quot;, &amp;quot;dt-&amp;quot;, &amp;quot;e-&amp;quot; are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.&lt;br /&gt;
* Profile URLs are provided for use with the HTML4 &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute, microdata &amp;lt;code&amp;gt;itemtype&amp;lt;/code&amp;gt; attribute, and RDFa &amp;lt;code&amp;gt;vocab&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;typeof&amp;lt;/code&amp;gt; attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). &lt;br /&gt;
* microformats2 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.&lt;br /&gt;
&lt;br /&gt;
=== v2 vocab to-do ===&lt;br /&gt;
To do: &lt;br /&gt;
* write a simple tutorial for creating/getting started with microformats-2 markup for new content&lt;br /&gt;
* examples in each h-* spec listed above of how to embed other microformats in them&lt;br /&gt;
* actual profile documents at &amp;lt;nowiki&amp;gt;http://microformats.org/profile/h-*&amp;lt;/nowiki&amp;gt; URLs mentioned above.&lt;br /&gt;
* 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.&lt;br /&gt;
* write a porting guide mapping v1 property -&amp;gt; v2 property&lt;br /&gt;
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).&lt;br /&gt;
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
== combining microformats ==&lt;br /&gt;
Since microformats2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.&lt;br /&gt;
&lt;br /&gt;
=== h-event location h-card ===&lt;br /&gt;
Events commonly have venue information with additional structure, like address information. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot; href=&amp;quot;http://indiewebcamp.com/2012&amp;quot;&amp;gt;&lt;br /&gt;
    IndieWebCamp 2012&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
  from &amp;lt;time class=&amp;quot;dt-start&amp;quot;&amp;gt;2012-06-30&amp;lt;/time&amp;gt; &lt;br /&gt;
  to &amp;lt;time class=&amp;quot;dt-end&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; at &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-location h-card&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-name p-org u-url&amp;quot; href=&amp;quot;http://geoloqi.com/&amp;quot;&amp;gt;&lt;br /&gt;
      Geoloqi&lt;br /&gt;
    &amp;lt;/a&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;920 SW 3rd Ave. Suite 400&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Portland&amp;lt;/span&amp;gt;, &lt;br /&gt;
    &amp;lt;abbr class=&amp;quot;p-region&amp;quot; title=&amp;quot;Oregon&amp;quot;&amp;gt;OR&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested h-card used to structure the p-location of the h-event is represented as a structured value for &amp;quot;location&amp;quot; in the JSON, which has an additional key, &amp;quot;value&amp;quot; that represents the plain text version parsed from the p-location.&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-event&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;IndieWebCamp 2012&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://indiewebcamp.com/2012&amp;quot;],&lt;br /&gt;
      &amp;quot;start&amp;quot;: [&amp;quot;2012-06-30&amp;quot;],&lt;br /&gt;
      &amp;quot;end&amp;quot;: [&amp;quot;2012-07-01&amp;quot;],&lt;br /&gt;
      &amp;quot;location&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Geoloqi&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;org&amp;quot;: [&amp;quot;Geoloqi&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://geoloqi.com/&amp;quot;],&lt;br /&gt;
          &amp;quot;street-address&amp;quot;: [&amp;quot;920 SW 3rd Ave. Suite 400&amp;quot;],&lt;br /&gt;
          &amp;quot;locality&amp;quot;: [&amp;quot;Portland&amp;quot;],&lt;br /&gt;
          &amp;quot;region&amp;quot;: [&amp;quot;Oregon&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questions:&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)&lt;br /&gt;
** 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?)&lt;br /&gt;
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
** 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)&lt;br /&gt;
** 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)&lt;br /&gt;
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* 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 &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; attribute of its &amp;lt;code&amp;gt;&amp;amp;lt;abbr&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== h-card org h-card ===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)&lt;br /&gt;
&lt;br /&gt;
with source:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;span class=&amp;quot;p-org&amp;quot;&amp;gt;Mozilla Foundation&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sometimes such organization affiliations are hyperlinked to the website of the organization:&lt;br /&gt;
&lt;br /&gt;
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])&lt;br /&gt;
&lt;br /&gt;
You can mark that up with a nested h-card:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; would.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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'.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;p-org h-card h-org&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;],&lt;br /&gt;
      &amp;quot;org&amp;quot;: [{&lt;br /&gt;
        &amp;quot;value&amp;quot;: &amp;quot;Mozilla Foundation&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;, &amp;quot;h-org&amp;quot;],&lt;br /&gt;
        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
          &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
          &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
        }&lt;br /&gt;
      }]&lt;br /&gt;
    }&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-org h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;,&amp;quot;h-org&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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').&lt;br /&gt;
&lt;br /&gt;
'''FOR PARSERS ONLY:'''&lt;br /&gt;
&lt;br /&gt;
Or the nested object could be only marked up with 'h-card'. Source:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name u-url&amp;quot;&lt;br /&gt;
     href=&amp;quot;http://blog.lizardwrangler.com/&amp;quot; &lt;br /&gt;
    &amp;gt;Mitchell Baker&amp;lt;/a&amp;gt; &lt;br /&gt;
  (&amp;lt;a class=&amp;quot;h-card&amp;quot; &lt;br /&gt;
      href=&amp;quot;http://mozilla.org/&amp;quot;&lt;br /&gt;
     &amp;gt;Mozilla Foundation&amp;lt;/a&amp;gt;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [{ &lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: [&amp;quot;Mitchell Baker&amp;quot;],&lt;br /&gt;
      &amp;quot;url&amp;quot;: [&amp;quot;http://blog.lizardwrangler.com/&amp;quot;]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;children&amp;quot;: [{&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&amp;quot;h-card&amp;quot;],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&amp;quot;Mozilla Foundation&amp;quot;],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&amp;quot;http://mozilla.org/&amp;quot;]&lt;br /&gt;
      }  &lt;br /&gt;
    }]&lt;br /&gt;
  }]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''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].'''&lt;br /&gt;
&lt;br /&gt;
== authoring ==&lt;br /&gt;
=== minimal markup ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.&lt;br /&gt;
&lt;br /&gt;
Simple hCards work just by adding &amp;lt;code&amp;gt;class=&amp;quot;h-card&amp;quot;&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img class=&amp;quot;h-card&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
     src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-card&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;img alt=&amp;quot;Tantek Çelik&amp;quot; src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tip: Inside an open tag, put the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute &amp;lt;em&amp;gt;first&amp;lt;/em&amp;gt;, then any human text content attributes (e.g. &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;), then URL attributes (e.g. &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;), and lastly other attributes (e.g. &amp;lt;code&amp;gt;style&amp;lt;/code&amp;gt;). 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.&lt;br /&gt;
&lt;br /&gt;
=== backward compatible ===&lt;br /&gt;
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats2]], you can include both existing classic microformats and microformats2 markup.&lt;br /&gt;
&lt;br /&gt;
In short: use both sets of class names simultaneously. &lt;br /&gt;
&lt;br /&gt;
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.&lt;br /&gt;
&lt;br /&gt;
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt;) to separate the root class name element from explicit property class name elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;Frances Berriman&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;p-name fn u-url url&amp;quot; href=&amp;quot;http://benward.me&amp;quot;&amp;gt;Ben Ward&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Sally Ride&amp;quot; &lt;br /&gt;
       src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;u-url url&amp;quot; href=&amp;quot;http://tantek.com&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;p-name fn u-photo photo&amp;quot; alt=&amp;quot;Tantek Çelik&amp;quot; &lt;br /&gt;
         src=&amp;quot;http://ttk.me/logo.jpg&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* use the microformats-2 class name first, e.g.&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;h-card vcard&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* and pair them when using an element for multiple properties, e.g.:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-url url&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;p-name fn u-photo photo&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* 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:&lt;br /&gt;
** &amp;lt;code&amp;gt;class=&amp;quot;event-page h-event vevent&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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?]]&lt;br /&gt;
&lt;br /&gt;
== extensions ==&lt;br /&gt;
microformats2 is extensible by means of two separate but syntactically similar extension prefixes for experiments intended to be iterated &amp;amp; evolved and for vendor specific extensions not intended for standardization.&lt;br /&gt;
&lt;br /&gt;
=== experimental extensions ===&lt;br /&gt;
There have been times when specific sites have wanted to extend microformats beyond the set of properties in the microformat vocabulary, 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:&lt;br /&gt;
&lt;br /&gt;
For experimental extensions for the purpose of prototyping to learn more, iterate, towards possibly standardizing, use the &amp;lt;code&amp;gt;-x-&amp;lt;/code&amp;gt; prefix before root and property class names.&lt;br /&gt;
&lt;br /&gt;
Specifically: &lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; indicates a literal 'x' for an experimental extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;p-x-prep-time&amp;quot; - a possible experimental property name to be added to [[h-recipe]] upon consideration/documentation of real-world usage/uptake.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-experimental-properties]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span id=&amp;quot;VENDOR_EXTENSIONS&amp;quot;&amp;gt;vendor extensions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
For vendor specific extensions, microformats2 uses a mechanism similar to CSS vendor extensions, using a similar syntax as experimental extensions, except with a vendor prefix instead of a literal 'x'.&lt;br /&gt;
&lt;br /&gt;
* '*-x-' + '-' + meaningful name for root and property class names&lt;br /&gt;
** where &amp;quot;*&amp;quot; indicates the single-character-prefix as defined above&lt;br /&gt;
** where &amp;quot;x&amp;quot; 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-, numbers allowed after first character)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* &amp;quot;h-bigco-one-ring&amp;quot; - a hypothetical &amp;quot;bigco&amp;quot; vendor-specific &amp;quot;one-ring&amp;quot; microformat root class name.&lt;br /&gt;
* &amp;quot;p-goog-preptime&amp;quot; - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's &amp;quot;preptime&amp;quot; property extension] to [[hRecipe]] (aside: &amp;quot;duration&amp;quot; may be another property type to consider separate from &amp;quot;datetime&amp;quot; as it may be subject to different parsing rules.)&lt;br /&gt;
&lt;br /&gt;
See [[vendor-prefixes]] for more examples.&lt;br /&gt;
&lt;br /&gt;
=== extensions background ===&lt;br /&gt;
This extensibility mechanism is a composition of the following (at least somewhat) successful extension syntaxes:&lt;br /&gt;
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]&lt;br /&gt;
* IETF MIME/content-type &amp;quot;x-*&amp;quot; extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]&lt;br /&gt;
* IETF MIME experimental fields (e.g. x-spam-score)&lt;br /&gt;
* HTTP header extensions (e.g. x-pingback)&lt;br /&gt;
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]&lt;br /&gt;
&lt;br /&gt;
In particular:&lt;br /&gt;
&lt;br /&gt;
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.&lt;br /&gt;
&lt;br /&gt;
Proprietary or experimental CSS3 property implementations have been very successful.&lt;br /&gt;
&lt;br /&gt;
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:&lt;br /&gt;
&lt;br /&gt;
* -moz-border-radius&lt;br /&gt;
* -webkit-border-radius&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
This use of vendor specific CSS properties allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.&lt;br /&gt;
&lt;br /&gt;
The benefits have been two-fold:&lt;br /&gt;
* designers have been able to make more attractive sites sooner (at least in some browsers)&lt;br /&gt;
* features have been market / real-world tested before being fully standardized, thus resulting in better features&lt;br /&gt;
&lt;br /&gt;
Implementers have used/introduced &amp;quot;x-&amp;quot; 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:&lt;br /&gt;
&lt;br /&gt;
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])&lt;br /&gt;
* x-spam-score (in email headers)&lt;br /&gt;
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])&lt;br /&gt;
&lt;br /&gt;
Some standard types started as experimental &amp;quot;x-&amp;quot; types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:&lt;br /&gt;
&lt;br /&gt;
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-origins#VENDOR_EXTENSIONS]] for more background.&lt;br /&gt;
&lt;br /&gt;
== validators ==&lt;br /&gt;
microformats2 validators:&lt;br /&gt;
&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
* https://pin13.net/mf2/&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
&lt;br /&gt;
See the [[validators]] page for a longer list of validators.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* Ashton McAllan marks up her blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [https://acegiak.net/ acegiak.net]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&amp;amp;utm_medium=h-card&amp;amp;utm_campaign=Microformats eugenbusoiu.com]]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&amp;amp;utm_content=buffere4d40&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer sinolandquality.com]&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].&lt;br /&gt;
* 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].&lt;br /&gt;
* [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.&lt;br /&gt;
* [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].&lt;br /&gt;
** 2013-01-25 Barnaby Walters: &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]&amp;lt;/cite&amp;gt; - describes how he's using microformats2 vocabularies: &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;, and experimental vocabularies: &amp;lt;code&amp;gt;h-feed&amp;lt;/code&amp;gt; (embedded for update histories), [[activity-streams]] objects &amp;lt;code&amp;gt;h-as-article&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-collection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-note&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-as-update&amp;lt;/code&amp;gt;, as well as experimental properties: &amp;lt;code&amp;gt;u-alternate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-as-downstream-duplicate&amp;lt;/code&amp;gt; (links to POSSE copies), and &amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt; (links to content that the posts are in reply to). &lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.&lt;br /&gt;
* [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&lt;br /&gt;
* 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&amp;amp;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]&lt;br /&gt;
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* 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]&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
{{new}} Test your microformatted web page with: &lt;br /&gt;
=== Live Textarea Input ===&lt;br /&gt;
Use any of these to enter HTML+microformats2 markup and see the parsed result!&lt;br /&gt;
* http://glennjones.net/tools/microformats/&lt;br /&gt;
* https://pin13.net/mf2/ (where it says &amp;quot;Microformats Parser&amp;quot;)&lt;br /&gt;
* https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
=== Blogging tools ===&lt;br /&gt;
* '''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].&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* '''[https://github.com/snarfed/granary granary]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]], [[microformats2]], and Atom (all directions). Supported silos include Facebook, Twitter, Instagram, Google+, and Flickr. 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.&lt;br /&gt;
&lt;br /&gt;
* '''[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])&lt;br /&gt;
&lt;br /&gt;
* '''[https://xray.p3k.io XRay]''' ([https://github.com/aaronpk/XRay source code]) - Returns a normalized representation of the microformats data at a URL&lt;br /&gt;
&lt;br /&gt;
=== Parsers ===&lt;br /&gt;
Parsers, open source libraries, in alphabetical order by programming language:&lt;br /&gt;
&lt;br /&gt;
==== Parsers in production ====&lt;br /&gt;
The following parsers are of very high quality, in active development, and use on live sites on the web in production.&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* [[any23]] Apache Any23 (Anything to Triples)] a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents: http://any23.apache.org&lt;br /&gt;
&lt;br /&gt;
===== Javascript =====&lt;br /&gt;
* '''microformats-parser''' for both browser and node.js&lt;br /&gt;
** github open source: https://github.com/aimee-gm/microformats-parser (current)&lt;br /&gt;
** live: https://aimee-gm.github.io/microformats-parser/&lt;br /&gt;
&lt;br /&gt;
Previously:&lt;br /&gt;
* '''microformat-node''' Node.js microformats2 parser&lt;br /&gt;
** github open source: https://github.com/microformats/microformat-node (current)&lt;br /&gt;
*** forked from https://github.com/glennjones/microformat-node&lt;br /&gt;
** test suite: https://github.com/microformats/tests&lt;br /&gt;
&amp;lt;!-- glennjones.net expired SSL cert as of 2018-358 or earlier&lt;br /&gt;
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/&lt;br /&gt;
** live: http://glennjones.net/tools/microformats/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
** command line: https://github.com/JerrySievert/mf2&lt;br /&gt;
* '''microformat-shiv'''  - cross browser javascript microformats2 parser which can also be used in browser extensions.&lt;br /&gt;
&amp;lt;!-- ** http://microformatshiv.com/  Unresponsive 2018-358  or earlier --&amp;gt;&lt;br /&gt;
** github open source: https://github.com/glennjones/microformat-shiv&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
* '''&amp;lt;span id=&amp;quot;php-mf2&amp;quot;&amp;gt;php-mf2&amp;lt;/span&amp;gt;''' - PHP microformats2 parser&lt;br /&gt;
** github open source: https://github.com/indieweb/php-mf2&lt;br /&gt;
** Packagist: https://packagist.org/packages/mf2/mf2&lt;br /&gt;
** live: &lt;br /&gt;
*** textarea entry: http://waterpigs.co.uk/php-mf2/&lt;br /&gt;
*** URL and textarea entry: https://pin13.net/mf2/&lt;br /&gt;
** [https://github.com/barnabywalters/php-mf-cleaner mf-cleaner]: functions for working with the raw mf2 data structure&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
* '''mf2py''' Python microformats2 parser&lt;br /&gt;
** main entry: [[mf2py]]&lt;br /&gt;
** github open source: https://github.com/tommorris/mf2py&lt;br /&gt;
** live: &lt;br /&gt;
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]&lt;br /&gt;
*** textarea entry: https://kartikprabhu.com/connection/mfparser&lt;br /&gt;
*** another textarea: http://www.unmung.com/?html=&lt;br /&gt;
*** URL and/or textarea: https://kylewm.com/services/mf2&lt;br /&gt;
&lt;br /&gt;
===== Ruby =====&lt;br /&gt;
* '''indieweb/microformats-ruby''' Ruby microformats parser&lt;br /&gt;
** github open source: https://github.com/indieweb/microformats-ruby&lt;br /&gt;
** live text entry: https://microformats-parser-ruby.herokuapp.com&lt;br /&gt;
&lt;br /&gt;
===== Haskell =====&lt;br /&gt;
* '''myfreeweb/microformats2-parser''' Haskell microformats2 parser&lt;br /&gt;
** github open source: https://github.com/myfreeweb/microformats2-parser&lt;br /&gt;
** live textarea entry: https://unrelenting.technology/mf2/&lt;br /&gt;
&lt;br /&gt;
==== Development parsers ====&lt;br /&gt;
The following parsers are in-development and have key microformats2 functionality yet are incomplete, not fully tested, or have other limitations. Contributions welcome!&lt;br /&gt;
&lt;br /&gt;
===== Erlang =====&lt;br /&gt;
* '''hazybluedot/mf2erl''' Erlang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/hazybluedot/mf2erl&lt;br /&gt;
&lt;br /&gt;
===== Elixir =====&lt;br /&gt;
* '''ckruse/microformats-elixir''' Elixir microformats2 parser&lt;br /&gt;
** github open source: https://github.com/ckruse/microformats2-elixir&lt;br /&gt;
&lt;br /&gt;
===== Go =====&lt;br /&gt;
* '''willnorris/microformats''' Golang microformats2 parser&lt;br /&gt;
** github open source: https://github.com/willnorris/microformats&lt;br /&gt;
** live textarea entry: https://go.microformats.io/&lt;br /&gt;
&lt;br /&gt;
===== Java =====&lt;br /&gt;
* '''Apache Any23''' a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web documents. Supports Microformats1 and 2.&lt;br /&gt;
** Download recent release: http://any23.apache.org/download.html&lt;br /&gt;
** live: http://any23-vm.apache.org/&lt;br /&gt;
** source: http://any23.apache.org/build-src.html&lt;br /&gt;
* '''mf2j''' An early-stage Java microformats2 parser&lt;br /&gt;
** github open source: https://github.com/kylewm/mf2j&lt;br /&gt;
** live: https://mf2j.herokuapp.com/?url={http://example.com}&lt;br /&gt;
&lt;br /&gt;
===== Perl =====&lt;br /&gt;
* '''Web::Microformats2''' Perl microformats2 parser&lt;br /&gt;
** https://metacpan.org/pod/Web::Microformats2&lt;br /&gt;
** open source: https://github.com/jmacdotorg/microformats2-perl&lt;br /&gt;
&lt;br /&gt;
==== Experiments ====&lt;br /&gt;
Experiments and other proof of concept microformat2 parsing support.&lt;br /&gt;
* '''Rust''' - https://gitlab.com/maxburon/microformats-parser&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Outreach ===&lt;br /&gt;
* [https://github.com/mozilla/fathom/issues/42 Mozilla Fathom:  examples with nested classes, e.g. microformats2]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
Presentations about microformats2:&lt;br /&gt;
* 2013-01-24 &amp;lt;cite&amp;gt;[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]&amp;lt;/cite&amp;gt; presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.&lt;br /&gt;
* 2012-09-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp;amp;amp; bits of HTML5: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.&lt;br /&gt;
* 2012-07-21 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
* 2012-07-14 &amp;lt;cite&amp;gt;[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]&amp;lt;/cite&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Testimonials ==&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;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 &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* &amp;lt;blockquote class=&amp;quot;twitter-tweet&amp;quot;&amp;gt;... But damn Microformats2 are sexy. &amp;amp;mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
This page was originally used to brainstorm and develop microformats2 in an exploratory manner, with problem statements, questions, lessons learned from past and other formats.&lt;br /&gt;
&lt;br /&gt;
Now that [[microformats2-parsing]] is a Microformats specification, the original brainstorming has been moved to a separate page for anyone who wants to understand more about how we came up with the design of microformats2, and how it evolved in the early years.&lt;br /&gt;
* [[microformats2-origins]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.&lt;br /&gt;
* [[microformats2-experimental-properties]] - listing experimental (-x- prefixed) properties and their use&lt;br /&gt;
* [[microformats2-prefixes]]&lt;br /&gt;
* [[vendor-prefixes]]&lt;br /&gt;
* [[microformats2-faq]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=html5-fr&amp;diff=70647</id>
		<title>html5-fr</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=html5-fr&amp;diff=70647"/>
		<updated>2023-07-26T21:28:22Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Cette page a démarré sur [[html5]]. Traduction en cours.''&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:Microformats en HTML 5}}&lt;br /&gt;
&lt;br /&gt;
''Cette page est destinée à documenter l'usage '''futur''' des microformats en [http://www.w3.org/html/wg/html5 HTML 5]. Aucun des items documentés ne sont supportés à cette heure, et ils pourront changer pour un développement dans la communauté des microformats, ou selon les modifications dans la spécification HTML5. Cette page est destinée à suivre les améliorations offertes par HTML5 pour les microformats, et les problématiques que soulève HTML5. Elle peut être utilisée pour suivre les questions qui ont besoin d'être poussées dans le processus de développement du HTML5.''&lt;br /&gt;
&lt;br /&gt;
S'il y a des choses que les Microformats aimeraient marquer qui ne sont pas gérées explicitement par HTML5, faites-le savoir svp au WHATWG, de façon à ce que nous puissions améliorer HTML5. Voici par exemple, comment le a émergé &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Nouvelles fonctionnalités dans le HTML5==&lt;br /&gt;
=== élément time ===&lt;br /&gt;
* L'élément '''&amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; pour représenter les dates-heures'''. En HTML5, le format machine des dates-heures peut être représenté nativement. Dans certains cas, il peut être possible de remplacer le modèle de design date-time avec du HTML5 natif.&lt;br /&gt;
&lt;br /&gt;
* Recommandation : Utilisez le [[value-class-pattern-fr|modèle-de-classe-value]], tout particulièrement et de préférence avec &amp;lt;strong&amp;gt;séparation-date-heure&amp;lt;/strong&amp;gt; pour marquer les dates et heures avec accessibilité tout en suivant le [[principle-fr|principe]] &amp;lt;abbr title=&amp;quot;Don't Repeat Yourself&amp;quot;&amp;gt;DRY&amp;lt;/abbr&amp;gt; autant que possible.&lt;br /&gt;
&lt;br /&gt;
* Les [[parsers#HTML::Microformats|HTML::Microformats]] et ses prédécesseurs ont supporté l'élément &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; depuis juillet 2008.&lt;br /&gt;
&lt;br /&gt;
* Essayez http://dev.h2vx.com/ (version beta de [[H2VX-fr|H2VX]]) car elle a désormais un support préliminaire pour &amp;lt;code&amp;gt;&amp;amp;lt;time datetime&amp;amp;gt;&amp;lt;/code&amp;gt; tout comme pour les nouveaux éléments sémantiques HTML5.&lt;br /&gt;
&lt;br /&gt;
Note : des propositions ont été [http://wiki.whatwg.org/wiki/Time documentées pour augmenter l'élément time]. Ajoutez SVP des opinions supplémentaires et des cas d'usages à cette page wiki de manière à ce que nous puissions améliorer l'élément time.&lt;br /&gt;
&lt;br /&gt;
Il a existé rapidement un attribut optionnel &amp;lt;code&amp;gt;pubdate&amp;lt;/code&amp;gt; pour indiquer la date de publication d'un &amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt;, mais il a été abandonné en 2012 parce qu'il était à la fois non nécessaire et insuffisant. Plutôt que d'utiliser l'attribut pubdate, il est mieux de faire ainsi : &lt;br /&gt;
* Utilisez le microformat [[hatom-fr|hAtom]] pour les articles, et la propriété hAtom &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;, tout comme la propriété hAtom &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== hCalendar avec élément time ====&lt;br /&gt;
Voici un [[hcalendar-fr#Exemples|un exemple de spec hCalendar]] mis à jour pour utiliser section au lieu de div, et time au lieu de abbr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;vevent&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://conferences.oreillynet.com/pub/w/40/program.html&amp;quot;&amp;gt;&lt;br /&gt;
  http://conferences.oreillynet.com/pub/w/40/program.html&lt;br /&gt;
 &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Web 2.0 Conference&amp;lt;/span&amp;gt;: &lt;br /&gt;
 &amp;lt;time class=&amp;quot;dtstart&amp;quot; datetime=&amp;quot;2005-10-05&amp;quot;&amp;gt;5 octobre&amp;lt;/time&amp;gt;-&lt;br /&gt;
 &amp;lt;time class=&amp;quot;dtend&amp;quot; datetime=&amp;quot;2005-10-07&amp;quot;&amp;gt;7&amp;lt;/time&amp;gt;,&lt;br /&gt;
 at the &amp;lt;span class=&amp;quot;location&amp;quot;&amp;gt;Argent Hotel, San Francisco, CA&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== élément article ===&lt;br /&gt;
L'élément '''&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt;''' pour des compositions majeures, indépendantes de contenu dans une page. Peut-être synonyme avec [[hatom-fr|hAtom]] &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;. Pourrait être parsé sous &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt; dans des blocs explicites &amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt; ?&lt;br /&gt;
&lt;br /&gt;
=== attributs data ===&lt;br /&gt;
'''La convention de nommage &amp;lt;code&amp;gt;data-&amp;lt;/code&amp;gt; pour les attributs de tag'''. la spécification draft déclare qeu tout attribut qui démarre avec &amp;quot;data-&amp;quot; sera traité comme une aire de stockage pour la data privée.&lt;br /&gt;
* Notez que le truc data-* n'est explicitement &amp;lt;em&amp;gt;pas&amp;lt;/em&amp;gt; pour les microformats. Ces attributs sont définis de telle sorte que les navigateurs ne feront jamais rien de spécial avec eux. Ils sont conçus pour les auteurs de scripts qui disposent d'un espace dans lequel ils peuvent jouer sans même rencontrer quelque conflit avec tout ce que peut faire le navigateur. Il peut y avoir des cas de [[poshformats]] privés qui ne sont jamais conçus pour l'interchagement qui peuvent être utilisés dans les attributs data-*.&lt;br /&gt;
&lt;br /&gt;
=== nouveaux éléments sémantiques ===&lt;br /&gt;
HTML5 a de nombreux et nouveaux éléments sémantiques.&lt;br /&gt;
&lt;br /&gt;
La plupart des [[parsers-fr|parseurs]] microformats ne reconnaîtront probablement pas ces éléments et peuvent les ignorer - ainsi évitez d'utiliser les classes microformats sur de nouveaux éléments sémantiques HTML5 en production.&lt;br /&gt;
&lt;br /&gt;
NÉANMOINS, essayez vraiment d'expérimenter avec des microformats et le nouveau HTML5 sémantique, &lt;br /&gt;
&lt;br /&gt;
ET essayez http://dev.h2vx.com/ (la version beta de [[H2VX-fr|H2VX]]) parce qu'il a maintenant un support préliminaire pour les nouveaux éléments sémantiques HTML5 tout comme &amp;lt;code&amp;gt;&amp;amp;lt;time datetime&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Modifications en HTML5 ==&lt;br /&gt;
=== Les attributs rel/rev ===&lt;br /&gt;
L'attribut &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; a été retiré du HTML5.  L'attribut &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; peut encore être utilisé de la même façon, mais les microformats qui supposaient l'existence de &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; et par conséquent définissait uniquement une relation unique, peuvent avoir besoin d'être changés pour inclure tout aussi bien une relation inverse. Ce qui veut dire, pour chaque relation qui va dans une direction (par ex. [[rel-parent]] de [[xfn)-fr|xfn]]), vous devez nommer explicitement et définir la relation inverse (par ex. [[rel-child]] de [[xfn-fr|xfn]]) si la relation inverse est vraiment utile.&lt;br /&gt;
&lt;br /&gt;
== Additions au delà du HTML5 ==&lt;br /&gt;
=== microdata ===&lt;br /&gt;
{{main|microdata}}&lt;br /&gt;
'''[[microdata]]''' est une extension du HTML5 qui fournit un ensemble d'attributs et des APIs DOM associées pour marquer sémantiquement et extraire les data du contenu existant dans les pages web, similaire aux microformats mais avec de nouveaux attributs.&lt;br /&gt;
&lt;br /&gt;
== compatibilité actuelle microformat ==&lt;br /&gt;
Il ne semble pas y avoir de problème avec l'implémentation des microformats suivants en HTML5 : &lt;br /&gt;
* [[hcard-fr|hcard]]&lt;br /&gt;
* [[xfn-fr|xfn]]&lt;br /&gt;
&lt;br /&gt;
== Requêtes ==&lt;br /&gt;
* &amp;quot;Comment utiliser avec HTML5&amp;quot; des sections qui comprennent (a) des exemples de microformats qui utilisent [[HTML5-fr|HTML5]], et (b) des détails de parsage microformats qui spécifient quoi faire (si quelque chose de spécial est requis) avec les éléments HMTL5 (par ex. comment parser l'élément  &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; pour les dates et heures pour les microformats). Voir (et ajoutez si nécessaire) : &lt;br /&gt;
** [[hcard-brainstorming#how_to_use_with_HTML5|hCard brainstorming - how to use with HTML5]]&lt;br /&gt;
** [[hcalendar-brainstorming#how_to_use_with_HTML5|hCalendar brainstorming - how to use with HTML5]] e.g. hCalendar with the &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element&lt;br /&gt;
** [[citation-brainstorming#how_to_use_with_HTML5|citation brainstorming - how to use with HTML5]]&lt;br /&gt;
** si rien de spécial n'est requi pour HTML5, alors après avoir exécuté l'analyse, ceci devrait être noté pour des besoins de clarté.&lt;br /&gt;
&lt;br /&gt;
==Problématiques ==&lt;br /&gt;
&amp;lt;div class='discussion issues'&amp;gt;&lt;br /&gt;
* '''The &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute has been removed'''. In HTML, the &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute from the &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; has been removed, with no direct replacement. This causes issues for GRDDL support. It's been suggested that profile URLs be represented in &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; elements instead, or even as a custom HTTP header. See [[grddl]] and [[profile-uris]]&lt;br /&gt;
** See [[rel-profile]] which is the replacement for the profile attribute. [[User:Tantek|Tantek]] 23:24, 5 November 2009 (UTC)&lt;br /&gt;
* '''Microdata &amp;lt;code&amp;gt;itemprop&amp;lt;/code&amp;gt; duplicates &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; data'''. the new attribute itemprop is designed to hold some meaningful data about an element, but class already exists to hold this data. Unsure of reasons why itemprop required?&lt;br /&gt;
** This is because microdata is designed to be generically parsable, even when the parser does not understand the vocabulary. As such, property names have to be on an explicit attribute, not shared with other, non-data classnames. --[[User:BenWard|BenWard]] 21:12, 4 September 2009 (UTC)&lt;br /&gt;
* '''The [http://microformats.org/wiki/value-class-pattern#Date_and_time_parsing recommended removal of the colon in timezone] doesn’t validate''' The relevant uF wiki text is “However the colons &amp;quot;:&amp;quot; separating the hours and minutes of any timezone offset are optional and discouraged in order to make it less likely that a timezone offset will be confused for a time.” ref: [http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#global-dates-and-times HTML5 time microsyntax for &amp;amp;lt;time&amp;amp;gt;] --[[User:Oli|Oli]] 14:40, 14 February 2010 (+9)&lt;br /&gt;
* '''Some websites are not ready to upgrade to HTML5''' and must stick with HTML4 (or XHTML1 served/interpreted as HTML4) for now. For example:&lt;br /&gt;
**  http://www.ascentsir.com/eng - according to [[IRC]] &amp;quot;ChiefRA&amp;quot; on 2011-06-30&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== voir aussi ==&lt;br /&gt;
* [[HTML3]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=html5&amp;diff=70646</id>
		<title>html5</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=html5&amp;diff=70646"/>
		<updated>2023-07-26T21:27:28Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Microformats in HTML5}}&lt;br /&gt;
&lt;br /&gt;
''This page is to document '''future''' use of microformats in [http://www.w3.org/html/wg/html5 HTML5]. None of the items documented are supported now, and may change upon proper development within the microformats community, or changes in the HTML 5 specification. This page is to track HTML5 enabled enhancements to microformats, and issues that HTML5 raises. It may be used to track issues which we need to push back into the HTML 5 development process.''&lt;br /&gt;
&lt;br /&gt;
If there are things that microformats would like to mark up that aren't handled by HTML5 explicitly, please let the WHATWG know, so we can improve HTML5. This is how the &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element came to be, for instance.&lt;br /&gt;
&lt;br /&gt;
==New features in HTML5==&lt;br /&gt;
&lt;br /&gt;
=== time element ===&lt;br /&gt;
'''&amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element for representing date times'''. In HTML5, the machine form of datetimes can be represented natively. In some cases it may be possible to replace the date-time design pattern with native HTML5.&lt;br /&gt;
&lt;br /&gt;
* Recommendation: Use the [[value-class-pattern]], in particular preferably &amp;lt;strong&amp;gt;date-time-separation&amp;lt;/strong&amp;gt; for accessibly marking up dates and times while following the &amp;lt;abbr title=&amp;quot;Don't Repeat Yourself&amp;quot;&amp;gt;DRY&amp;lt;/abbr&amp;gt; [[principle]] as much as possible.&lt;br /&gt;
&lt;br /&gt;
* [[parsers#HTML::Microformats|HTML::Microformats]] and its predecessors have supported the &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element since July 2008.&lt;br /&gt;
&lt;br /&gt;
* Try http://dev.h2vx.com/ (the beta version of [[H2VX]]) as it now has preliminary support for &amp;lt;code&amp;gt;&amp;amp;lt;time datetime&amp;amp;gt;&amp;lt;/code&amp;gt; as well as the new semantic HTML5 elements.&lt;br /&gt;
&lt;br /&gt;
Note: that there are documented [http://wiki.whatwg.org/wiki/Time proposals to extend the time element].  Please add additional opinions and use cases to that wiki page so that we can help improve the time element.&lt;br /&gt;
&lt;br /&gt;
There was briefly an optional &amp;lt;code&amp;gt;pubdate&amp;lt;/code&amp;gt; attribute, to indicate the publication date of an &amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt;, but it was dropped in 2012 since it is both unnecessary and insufficient. Rather than use the one-off pubdate attribute, it's much better to:&lt;br /&gt;
* Use the [[hAtom]] microformat for articles, and the hAtom &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; property, as well as the hAtom &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
==== hCalendar with time element ====&lt;br /&gt;
Here is the [[hcalendar#Examples|hCalendar spec example]] updated to use section instead of div, and time instead of abbr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;vevent&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;a class=&amp;quot;url&amp;quot; href=&amp;quot;http://conferences.oreillynet.com/pub/w/40/program.html&amp;quot;&amp;gt;&lt;br /&gt;
  http://conferences.oreillynet.com/pub/w/40/program.html&lt;br /&gt;
 &amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Web 2.0 Conference&amp;lt;/span&amp;gt;: &lt;br /&gt;
 &amp;lt;time class=&amp;quot;dtstart&amp;quot; datetime=&amp;quot;2005-10-05&amp;quot;&amp;gt;October 5&amp;lt;/time&amp;gt;-&lt;br /&gt;
 &amp;lt;time class=&amp;quot;dtend&amp;quot; datetime=&amp;quot;2005-10-07&amp;quot;&amp;gt;7&amp;lt;/time&amp;gt;,&lt;br /&gt;
 at the &amp;lt;span class=&amp;quot;location&amp;quot;&amp;gt;Argent Hotel, San Francisco, CA&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== article element ===&lt;br /&gt;
'''&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt;''' element for major, independent compositions of content within a page. Perhaps synonymous with [[hAtom]] &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;. Could be parsed as &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt; within explicit &amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt; blocks?&lt;br /&gt;
&lt;br /&gt;
=== data attributes ===&lt;br /&gt;
'''&amp;lt;code&amp;gt;data-&amp;lt;/code&amp;gt; naming convention for tag attributes'''. the draft specification states that any attribute that starts with &amp;quot;data-&amp;quot; will be treated as a storage area for private data.&lt;br /&gt;
* Note that the data-* stuff is explicitly &amp;lt;em&amp;gt;not&amp;lt;/em&amp;gt; for microformats. Those attributes are defined in such a way that browsers will never do anything special with them, ever. They are intended for script authors to have a space in which they can play without ever clashing with anything the browser does. There may be some cases of private [[poshformats]] that are never intended for interchange that may be used in data-* attributes.&lt;br /&gt;
&lt;br /&gt;
Since data-* attributes are not for general data interchange or generic APIs supported by multiple sites / pieces of software, what are actual valid uses of data-* attributes? One example (feel free to add more)&lt;br /&gt;
* Twitter's use of data-* attributes in markup to be picked up only by Twitter's javascript [https://dev.twitter.com/docs/tweet-button library for Tweet buttons], e.g. &amp;lt;code&amp;gt;data-related=&amp;quot;indiewebcamp&amp;quot;&amp;lt;/code&amp;gt; - indicates [https://twitter.com/indiewebcamp @indiewebcamp] is a related Twitter account for a tweet button.&lt;br /&gt;
&lt;br /&gt;
=== new semantic elements ===&lt;br /&gt;
HTML5 has numerous new semantic elements.&lt;br /&gt;
&lt;br /&gt;
Most microformats [[parsers]] probably won't recognize those elements and may ignore them - so avoid using microformats classes on new HTML5 semantic elements for anything in production.&lt;br /&gt;
&lt;br /&gt;
HOWEVER, do try experimenting with microformats and new semantic HTML5, &lt;br /&gt;
&lt;br /&gt;
AND try http://dev.h2vx.com/ (the beta version of [[H2VX]]) as it now has preliminary support for the new semantic HTML5 elements as well as &amp;lt;code&amp;gt;&amp;amp;lt;time datetime&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Changes in HTML5 ==&lt;br /&gt;
=== The rel/rev attributes ===&lt;br /&gt;
The &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; attribute has been removed from HTML5.  The &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute can be still be used in the same way, but microformats that assumed the existence of &amp;lt;code&amp;gt;rev&amp;lt;/code&amp;gt; and thus only defined a single forward-facing relation may need to be changed to include an opposite relation as well.  That is, for every relation that goes in one direction (e.g. [[rel-parent]] of [[xfn]]), you must explicitly name and define the inverse relationship (e.g. [[rel-child]] of [[xfn]]) if the inverse relation is indeed useful.&lt;br /&gt;
&lt;br /&gt;
== Additions beyond HTML5 ==&lt;br /&gt;
=== microdata ===&lt;br /&gt;
{{main|microdata}}&lt;br /&gt;
'''[[microdata]]''' is an extension to HTML5 that provides a set of attributes and associated DOM APIs for semantically marking up and extracting data from existing content in web pages, similar to microformats but with new attributes.&lt;br /&gt;
&lt;br /&gt;
== Current microformat compatibility ==&lt;br /&gt;
There seems to be no issue with current implementation of the following microformats in HTML 5:&lt;br /&gt;
* [[hcard]]&lt;br /&gt;
* [[xfn]]&lt;br /&gt;
&lt;br /&gt;
== Requests ==&lt;br /&gt;
* &amp;quot;how to use with HTML5&amp;quot; sections that include (a) microformats examples that use [[HTML5]], and (b) microformats parsing details that specify what to do (if anything special is required) with HTML5 elements (e.g. how to parse the &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element for dates and times for microformats). See (and add to if necessary) :&lt;br /&gt;
** [[hcard-brainstorming#how_to_use_with_HTML5|hCard brainstorming - how to use with HTML5]]&lt;br /&gt;
** [[hcalendar-brainstorming#how_to_use_with_HTML5|hCalendar brainstorming - how to use with HTML5]] e.g. hCalendar with the &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element&lt;br /&gt;
** [[citation-brainstorming#how_to_use_with_HTML5|citation brainstorming - how to use with HTML5]]&lt;br /&gt;
** if nothing special is required for HTML5, then after performing the analysis, that should be noted as well, for the purpose of clarity.&lt;br /&gt;
&lt;br /&gt;
==Issues==&lt;br /&gt;
&amp;lt;div class='discussion issues'&amp;gt;&lt;br /&gt;
* '''The &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute has been removed'''. In HTML, the &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt; attribute from the &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; has been removed, with no direct replacement. This causes issues for GRDDL support. It's been suggested that profile URLs be represented in &amp;lt;code&amp;gt;link&amp;lt;/code&amp;gt; elements instead, or even as a custom HTTP header. See [[grddl]] and [[profile-uris]]&lt;br /&gt;
** See [[rel-profile]] which is the replacement for the profile attribute. [[User:Tantek|Tantek]] 23:24, 5 November 2009 (UTC)&lt;br /&gt;
* '''Microdata &amp;lt;code&amp;gt;itemprop&amp;lt;/code&amp;gt; duplicates &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; data'''. the new attribute itemprop is designed to hold some meaningful data about an element, but class already exists to hold this data. Unsure of reasons why itemprop required?&lt;br /&gt;
** This is because microdata is designed to be generically parsable, even when the parser does not understand the vocabulary. As such, property names have to be on an explicit attribute, not shared with other, non-data classnames. --[[User:BenWard|BenWard]] 21:12, 4 September 2009 (UTC)&lt;br /&gt;
* '''The [http://microformats.org/wiki/value-class-pattern#Date_and_time_parsing recommended removal of the colon in timezone] doesn’t validate''' The relevant uF wiki text is “However the colons &amp;quot;:&amp;quot; separating the hours and minutes of any timezone offset are optional and discouraged in order to make it less likely that a timezone offset will be confused for a time.” ref: [http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#global-dates-and-times HTML5 time microsyntax for &amp;amp;lt;time&amp;amp;gt;] --[[User:Oli|Oli]] 14:40, 14 February 2010 (+9)&lt;br /&gt;
* '''Some websites are not ready to upgrade to HTML5''' and must stick with HTML4 (or XHTML1 served/interpreted as HTML4) for now. For example:&lt;br /&gt;
**  http://www.ascentsir.com/eng - according to [[IRC]] &amp;quot;ChiefRA&amp;quot; on 2011-06-30&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[HTML3]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-adr-fr&amp;diff=70645</id>
		<title>h-adr-fr</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-adr-fr&amp;diff=70645"/>
		<updated>2023-07-26T21:26:19Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Cette page a démarré sur [[h-adr]]''&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:h-adr}}&lt;br /&gt;
* &amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editeur&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:ChristopheDucamp|Christophe Ducamp]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Traducteur&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-adr&amp;lt;/dfn&amp;gt; est un format simple, ouvert pour publier des endroits structurés tels que des adresses, physiques et/ou postales. h-adr est l'un des nombreux standards ouverts [[microformats|microformat]] draft adaptés pour embarquer de la data en HTML/HTML5 sur le web.&lt;br /&gt;
&lt;br /&gt;
h-adr est la mise à jour [[microformats-2-fr|microformats-2]] de [[adr-fr|adr]]. Il est le plus communément utilisé comme partie d'une [[h-card-fr|h-card]] ou d'un [[h-event-fr|h-event]].&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
Voic un exemple simple d'adresse postale : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-adr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;17 Austerstræti&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Reykjavík&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-country-name&amp;quot;&amp;gt;Iceland&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-postal-code&amp;quot;&amp;gt;107&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pour démarrer ===&lt;br /&gt;
La classe '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;''' est un ''nom de classe racine'' qui indique la présence d'un h-adr.&lt;br /&gt;
&lt;br /&gt;
'''p-street-address''', '''p-locality''', '''p-country-name''', '''p-postal-code''' et tous les autres noms de classes propriétés listés ci-dessous définissent les propriétés d'un h-adr.&lt;br /&gt;
&lt;br /&gt;
Voir [[microformats-2-parsing-fr|microformats-2-parsing]] pour en savoir plus sur les noms de classes propriétés.&lt;br /&gt;
&lt;br /&gt;
== Propriétés ==&lt;br /&gt;
Les propriétés h-adr, dans un élément avec la classe '''h-adr''' :&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;''' - numéro de maison/appartement, étage, nom de rue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;''' - détails additionnels sur la rue&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;''' - numéro de boîte postale&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;''' - ville/village/localité&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;''' - état/pays/province&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;''' - code postal, par ex. ZIP aux USA&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;''' - nom du pays&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - une étiquette de mailing, en plein texte, peut-être avec pré-formatage&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (ou u-geo avec un geo RFC 5870  : URL), embarqué optionnellement avec [[h-geo]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - latitude en décimales&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - longitude en décimales&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - altitude en décimales - nouveau dans vCard4 (RFC6350)&lt;br /&gt;
&lt;br /&gt;
Toutes les propriétés sont optionnelles.&lt;br /&gt;
&lt;br /&gt;
== Statut ==&lt;br /&gt;
'''h-adr''' est une spécification draft microformats. La discussion publique sur h-adr à lieu sur  [[h-adr-feedback]], le canal [[irc]] #microformats sur irc.freenode.net, et la [http://microformats.org/discuss/mail/microformats-new/ microformats-new liste de diffusion]].&lt;br /&gt;
&lt;br /&gt;
h-adr est prêt à être utilisé et implémenté dans la jungle, mais pour de la rétro-compatibilité, vous devriez aussi marquer et enrichir les h-adrs  avec les noms de classes [[adr]].&lt;br /&gt;
&lt;br /&gt;
== Détails de propriété ==&lt;br /&gt;
(ébauche, ajoutez ici toutes les explications de propriétés)&lt;br /&gt;
&lt;br /&gt;
== Exemples dans la jungle ==&lt;br /&gt;
* … ajouter ici tout exemple que vous trouverez dans la jungle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rétro-compatibilité  ==&lt;br /&gt;
=== Compatibilité pour Auteurs ===&lt;br /&gt;
Pour une rétro-compatibilité, vous pourriez vouloir utiliser les noms de classes classiques [[adr-fr|adr]] en plus des propriétés futures h-adr, par exemple : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-adr adr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-street-address street-address&amp;quot;&amp;gt;123 rue Principale.&amp;lt;/span&amp;gt;, &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-locality locality&amp;quot;&amp;gt;VilleSympa&amp;lt;/span&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le '''&amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;''' est un ''nom de classe racine rétro-compatible'' qui indique la présence d'un [[adr-fr|adr]].&lt;br /&gt;
&lt;br /&gt;
'''street-address''', '''locality''', et tous les noms de classes propriétés rétro-compatibles sont listés en dessous.&lt;br /&gt;
&lt;br /&gt;
=== Compatibilité Parseurs ===&lt;br /&gt;
Les parseurs microformats devraient détecter les propriétés classiques et les parser comme des propriétés microformats-2. SI un &amp;quot;h-adr&amp;quot; est trouvé, ne pas chercher un &amp;quot;adr&amp;quot; sur le même élément.&lt;br /&gt;
&lt;br /&gt;
Le nom de classe racine compatible : adr&lt;br /&gt;
&lt;br /&gt;
Les propriétés : (parsées comme p - plein texte à moins qu'autre chose ne soit spécifié) &lt;br /&gt;
&lt;br /&gt;
* post-office-box&lt;br /&gt;
* extended-address&lt;br /&gt;
* street-address&lt;br /&gt;
* locality&lt;br /&gt;
* region&lt;br /&gt;
* postal-code&lt;br /&gt;
* country-name&lt;br /&gt;
&lt;br /&gt;
== Historique==&lt;br /&gt;
h-adr est basé sur la spécification [[adr-fr|adr]], qui a été extraite de [[hcard-fr|hCard]] afin de l'autoriser à être utilisé pour des applications autres que l'information de contact.&lt;br /&gt;
&lt;br /&gt;
== Voir aussi ==&lt;br /&gt;
* [[microformats2-fr|microformats-2]]&lt;br /&gt;
* [[h-geo-fr|h-geo]] peut être embarqué dans h-adr&lt;br /&gt;
* [[h-card-fr|h-card]] et [[h-event-fr|h-event]] contiennent souvent h-adr&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-review-aggregate&amp;diff=70644</id>
		<title>h-review-aggregate</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-review-aggregate&amp;diff=70644"/>
		<updated>2023-07-26T21:24:57Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
This page is a placeholder for the [[h-review-aggregate]] specification, an upgrade of [[hReview-aggregate]] to [[microformats2]]. Please refer to the [[#Todo]] section.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{DISPLAYTITLE:h-review-aggregate}}&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-review-aggregate&amp;lt;/dfn&amp;gt; is a simple, open format for embedding review information (of products, services, businesses, etc). Whereas [[h-review]] is intended for an individual review, h-review-aggregate is meant for summary information about a collection of user or critic reviews about an item.&lt;br /&gt;
&lt;br /&gt;
h-review-aggregate is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML and is the [[microformats2]] update to [[hReview-aggregate]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''.&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
&amp;lt;div class=&amp;quot;p-author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:GRegorLove|gRegor Morrill]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
: {{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple example showing aggregate review information for a restaurant:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;article class=&amp;quot;h-review-aggregate&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;h1 class=&amp;quot;p-item&amp;quot;&amp;gt;Mediterranean Wraps&amp;lt;/h1&amp;gt;&lt;br /&gt;
 &amp;lt;p class=&amp;quot;p-name&amp;quot;&amp;gt;Customers flock to this small restaurant for their &lt;br /&gt;
 tasty falafel and shawerma wraps and welcoming staff.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;p-average&amp;quot;&amp;gt;4.5&amp;lt;/span&amp;gt; out of 5 &lt;br /&gt;
 based on &amp;lt;span class=&amp;quot;p-count&amp;quot;&amp;gt;17&amp;lt;/span&amp;gt; reviews&lt;br /&gt;
&amp;lt;/article&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
=== Proposed Properties ===&lt;br /&gt;
Proposed properties from [[hReview-aggregate]] awaiting citations of publishing and consuming examples.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - Required: the thing been reviewed, including embedded microformat for e.g. business or person ([[h-card]]), event ([[h-event]]), place ([[h-adr]] or [[h-geo]]), product ([[h-product]]), website, url, or other item ([[h-item]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-average&amp;lt;/code&amp;gt;''' - Required: the fixed point integer [1.0-5.0] of the average rating (5.0 best)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - Optionally define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - Optionally define worst rating value. can be numerically higher than best.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''  - the total number of reviews&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''  - 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 &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; may be used and this property omitted.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - This optional property can be the title for the review collection or a very short summary of the consensus opinion from the collection.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Add any h-review-aggregate examples you find in the wild:&lt;br /&gt;
&lt;br /&gt;
* [https://breakfastand.coffee Breakfast and Coffee] publishes h-review-aggregate on pages that aggregate all of the reviews for a coffee shop or eatery. The h-review-aggregate is updated automatically when a new, valid h-review [https://indieweb.org/Webmention Webmention] is sent to the page.&lt;br /&gt;
** Example: https://breakfastand.coffee/Fortitude_Coffee_-_Newington_Road_-_Edinburgh&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
This is a '''draft''' based on reviewing [[hreview-aggregate-examples-in-wild#Reviewed_Examples|hReview-aggregate examples]], pending parser implementations and feedback.&lt;br /&gt;
&lt;br /&gt;
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;lt;code&amp;gt;h-review-aggregate&amp;lt;/code&amp;gt; is found, don't look for an &amp;lt;code&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compat root class name: &amp;lt;code id=&amp;quot;hreview-aggregate&amp;quot;&amp;gt;hreview-aggregate&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Properties: (parsed as '''p-''' plain text unless otherwise specified):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;average&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-average&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-count&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;votes&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-votes&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
Based on [[hreview-aggregate-examples-in-wild#Reviewed_Examples|hReview-aggregate examples]], this is how many times each property appeared.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;item: 10&lt;br /&gt;
rating: 10&lt;br /&gt;
average: 8&lt;br /&gt;
best: 8&lt;br /&gt;
count: 5&lt;br /&gt;
votes: 5&lt;br /&gt;
worst: 0&lt;br /&gt;
summary: 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
Tasks for this page.&lt;br /&gt;
&lt;br /&gt;
In summary:&lt;br /&gt;
* copy [[h-review]]&lt;br /&gt;
* use root class name &amp;quot;h-review-aggregate&amp;quot; instead of &amp;quot;h-review&amp;quot;&lt;br /&gt;
* add &amp;quot;p-count&amp;quot;, &amp;quot;p-votes&amp;quot; properties as defined in [[hReview-aggregate]]&lt;br /&gt;
* prune set of properties to those listed in [[hReview-aggregate]]&lt;br /&gt;
* change backcompat parsing for root class name to &amp;quot;hreview-aggregate&amp;quot;&lt;br /&gt;
* change backcompat parsing property class names to those listed in [[hReview-aggregate]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
* [[hReview-aggregate]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-review&amp;diff=70643</id>
		<title>h-review</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-review&amp;diff=70643"/>
		<updated>2023-07-26T21:23:50Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-review&amp;lt;/dfn&amp;gt; is a simple, open format for publishing reviews on the web. h-review is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-review is the [[microformats2]] update to [[hReview]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
:{{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple review example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-review&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name&amp;quot;&amp;gt;Microformats: is structured data worth it?&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;blockquote&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;p-item h-item&amp;quot; href=&amp;quot;http://microformats.org&amp;quot;&amp;gt;Microformats&amp;lt;/a&amp;gt; are the simplest way to publish structured data on the web.&lt;br /&gt;
  &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    &amp;lt;data class=&amp;quot;p-rating&amp;quot; value=&amp;quot;5&amp;quot;&amp;gt;★★★★★&amp;lt;/data&amp;gt;&lt;br /&gt;
    Published &amp;lt;time class=&amp;quot;dt-published&amp;quot; datetime=&amp;quot;2013-06-12 12:00:00&amp;quot;&amp;gt;12&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; June 2013&amp;lt;/time&amp;gt;&lt;br /&gt;
    by &amp;lt;a class=&amp;quot;p-author h-card&amp;quot; href=&amp;quot;http://example.com&amp;quot;&amp;gt;Joe Bloggs&amp;lt;/a&amp;gt;.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;div class=&amp;quot;e-content&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Yes, microformats are undoubtedly great. They are the simplest way to markup structured data in HTML and reap the benefits thereof, including using your web page as your API by automatic conversion to JSON. The alternatives of microdata/schema and RDFa are much more work, require more markup, and are more complicated (harder to get right, more likely to break).&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-review&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;Microformats: is structured data worth it?&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;item&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Microformats&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
              &amp;quot;h-item&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
              &amp;quot;name&amp;quot;: [&lt;br /&gt;
                &amp;quot;Microformats&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;url&amp;quot;: [&lt;br /&gt;
                &amp;quot;http://microformats.org&amp;quot;&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;rating&amp;quot;: [&lt;br /&gt;
          &amp;quot;5&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;published&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-12 12:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;author&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Joe Bloggs&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
              &amp;quot;h-card&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
              &amp;quot;name&amp;quot;: [&lt;br /&gt;
                &amp;quot;Joe Bloggs&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;url&amp;quot;: [&lt;br /&gt;
                &amp;quot;http://example.com&amp;quot;&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;content&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Yes, microformats are undoubtedly great. They are the simplest way to markup structured data in HTML and reap the benefits thereof, including using your web page as your API by automatic conversion to JSON. The alternatives of microdata/schema and RDFa are much more work, require more markup, and are more complicated (harder to get right, more likely to break).&amp;quot;,&lt;br /&gt;
            &amp;quot;html&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Yes, microformats are undoubtedly great. They are the simplest way to markup structured data in HTML and reap the benefits thereof, including using your web page as your API by automatic conversion to JSON. The alternatives of microdata/schema and RDFa are much more work, require more markup, and are more complicated (harder to get right, more likely to break).&amp;lt;/p&amp;gt;&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-review&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-review.&lt;br /&gt;
&lt;br /&gt;
'''p-name''', '''p-item''', '''p-rating''', '''dt-published''', '''p-author''', '''e-content''' and the other property class names listed below defined elements as ''properties'' of the h-review.&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-item&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates an embedded '''[[h-item]]''' for the p-item property.&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates an embedded '''[[h-card]]''' for the p-author property.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-parsing]] to learn more about property class names.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-review properties, inside an element with class '''h-review''':&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the review&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-item&amp;lt;/code&amp;gt;''' - thing being reviewed, including embedded microformat for e.g. business or person ([[h-card]]), event ([[h-event]]), place ([[h-adr]] or [[h-geo]]), product ([[h-product]]), recipe ([[h-recipe]]), website, url, or other item ([[h-item]]).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - person who authored the review, optionally with an embedded [[h-card]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - date time of when the review was written and published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-rating&amp;lt;/code&amp;gt;''' - value from 1-5 indicating a rating for the item (5 best).&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-best&amp;lt;/code&amp;gt;'''  - define best rating value. can be numerically lower than worst.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-worst&amp;lt;/code&amp;gt;'''  - define worst rating value. can be numerically higher than best. &lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' - the full text written evaluation and opinion of the reviewer&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - freeform categories or tags applied to the item by the reviewer &lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - review permalink URL&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
Experimental properties currently in use in the wild but not (yet) part of the official h-review spec. Several of these seem to be because of h-review convergence towards [[h-entry]], as h-review gets used alongside h-entry within [[h-feed]]:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;''' - location the review was posted from, optionally embed [[h-card]], [[h-adr]], or [[h-geo]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - short review summary&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-syndication&amp;lt;/code&amp;gt;''' - URL(s) of syndicated copies of this review. The property equivalent of [[rel-syndication]] ([https://aaronparecki.com/2018/01/29/10/ example] with [https://www.amazon.com/review/R1P2C3ATN75836/ref=pe_1098610_137716200_cm_rv_eml_rv0_rv syndication to Amazon])&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
'''h-review''' is a microformats.org draft specification. Public discussion on h-review takes place on [[h-review-feedback]] and the #microformats [[irc]] channel on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
h-review is ready to use.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
(stub, add any property explanations here)&lt;br /&gt;
&lt;br /&gt;
== Examples in the Wild ==&lt;br /&gt;
* … add any h-review examples you find in the wild&lt;br /&gt;
* https://cleverdevil.io/2015/blood-rites-book-six-of-the-dresden-files&lt;br /&gt;
* https://aaronparecki.com/2018/01/29/10/ (more on Aaron’s [https://aaronparecki.com/reviews review feed])&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
* [https://github.com/cleverdevil/Known-Reviews Reviews plugin for Known CMS] by [https://cleverdevil.io Jonathan LaCour].&lt;br /&gt;
** [https://github.com/cleverdevil/Known-Reviews/pull/4 pending pull request to sync with spec update 2016-05-29] -t&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[hReview]] classnames on an h-review permalink page in addition to the more future-proof h-review properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-review hreview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name fn&amp;quot;&amp;gt;My great review&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [https://aaronparecki.com/ Aaron Parecki]’s [https://aaronparecki.com/2016/12/17/8/owning-my-reviews Why Microformats? Owning My Reviews] for a reason to be backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers should detect classic properties and parse them as microformats 2 properties. If an &amp;quot;h-review&amp;quot; is found, don't look for an &amp;quot;hReview&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compatibility root class name: hreview&lt;br /&gt;
&lt;br /&gt;
Properties: (parsed as p- plain text unless otherwise specified)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
* &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; (without vcard, vevent, hproduct) - parse as '''p-item h-item''' including backcompat nested properties:&lt;br /&gt;
** &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)&lt;br /&gt;
** &amp;lt;code&amp;gt;photo&amp;lt;/code&amp;gt; - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)&lt;br /&gt;
** &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)&lt;br /&gt;
* &amp;lt;code&amp;gt;item vcard&amp;lt;/code&amp;gt; - parse as '''p-item h-card''' including backcompat [[hCard]] parsing&lt;br /&gt;
* &amp;lt;code&amp;gt;item vevent&amp;lt;/code&amp;gt; - parse as '''p-item h-event''' including backcompat [[hCalendar]] vevent property parsing&lt;br /&gt;
* &amp;lt;code&amp;gt;item hproduct&amp;lt;/code&amp;gt; - parse as '''p-item h-product''' including backcompat [[hProduct]] parsing&lt;br /&gt;
* &amp;lt;code&amp;gt;reviewer&amp;lt;/code&amp;gt;  - parse as '''p-author''', including compat root vcard in the absence of h-card&lt;br /&gt;
* &amp;lt;code&amp;gt;dtreviewed&amp;lt;/code&amp;gt; - parse as '''dt-published'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rating&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;best&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;worst&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; - parse as '''e-content'''&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=tag&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''. While not a class name nor typical microformats property, [[rel-tag|rel=tag]] was the typical way to tag an hreview. Thus parsers should look for rel=tag hyperlinks inside an hreview, and take the last path segment of their &amp;quot;href&amp;quot; value as a value for a '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' property.&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=&amp;quot;self bookmark&amp;quot;&amp;lt;/code&amp;gt; - parse as '''u-url'''. note that &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute value is treated as a space separated set, thus any presence of &amp;quot;self&amp;quot; and &amp;quot;bookmark&amp;quot; within such a set in a rel value is accepted.&lt;br /&gt;
&lt;br /&gt;
Note: The [[hReview]] format has three properties which make use of &amp;lt;code&amp;gt;rel&amp;lt;/code&amp;gt; attribute, these are &amp;lt;code&amp;gt;tag&amp;lt;/code&amp;gt;, permalink (via the &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt; values) and &amp;lt;code&amp;gt;license&amp;lt;/code&amp;gt;. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.&lt;br /&gt;
&lt;br /&gt;
=== prior property names ===&lt;br /&gt;
There may be a handful of h-reviews out there (only one known so far) that use prior h-review property names. Parsers encountering these *may* interpret them as follows:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dt-reviewed&amp;lt;/code&amp;gt; treat as a fallback for '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;e-description&amp;lt;/code&amp;gt; treat as a fallback for '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;p-reviewer&amp;lt;/code&amp;gt; treat as a fallback for '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
h-review is based on the existing [[hReview]] specification.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[h-event]]&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-product]] can all be embedded in h-review as the p-item&lt;br /&gt;
* [[h-item]] is a minimal microformat in case none of the others suitably represent the item being reviewed&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-item&amp;diff=70642</id>
		<title>h-item</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-item&amp;diff=70642"/>
		<updated>2023-07-26T21:22:21Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-item&amp;lt;/dfn&amp;gt; is a simple, open format for publishing details about arbitrary items. h-item is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
In practice, h-item is almost never used on its own, but rather as the '''p-item''' in an [[h-review]] if the item being reviewed cannot otherwise be represented by either an [[h-card]], [[h-product]], [[h-event]], or other specific microformat.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
:{{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
As the only properties defined by h-item are '''p-name''', '''u-url''' and '''u-photo''', in practice only the root class name is ever actually required thanks to [[microformats-2-implied-properties]]. Explicit properties may be needed for unusual markup structures or to represent multiple values, e.g. multiple URLs, photos. etc..&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a class=&amp;quot;h-item&amp;quot; href=&amp;quot;http://example.org/items/1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;img src=&amp;quot;http://example.org/items/1/photo.png&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
  The Item Name&lt;br /&gt;
&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-item&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;The Item Name&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;photo&amp;quot;: [&lt;br /&gt;
          &amp;quot;http://example.org/items/1/photo.png&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;url&amp;quot;: [&lt;br /&gt;
          &amp;quot;http://example.org/items/1&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - item name&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - permalink URL&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - photo URL&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
'''h-item''' is a microformats.org draft specification. Public discussion on h-item takes place on [[h-item-feedback]] and the #microformats [[irc]] channel on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
&lt;br /&gt;
(stub, add any property explanations here)&lt;br /&gt;
&lt;br /&gt;
== Examples in the Wild ==&lt;br /&gt;
* … add any h-item examples you find in the wild&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
h-item was extracted from the classic [[hReview]] microformat as a way of referring to arbitrary reviewed items which cannot be represented by other microformats but which required a “shell” microformat due to the flat property requirement of microformats 2.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[h-review]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-geo&amp;diff=70641</id>
		<title>h-geo</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-geo&amp;diff=70641"/>
		<updated>2023-07-26T21:21:09Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-geo&amp;lt;/dfn&amp;gt; is a simple, open format for publishing [http://en.wikipedia.org/wiki/WGS84 WGS84] geographic coordinates. h-geo is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-geo is the [[microformats2]] update to [[geo]]. It is most commonly used as part of an [[h-card]] or [[h-event]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
:{{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple h-geo example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-geo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-latitude&amp;quot;&amp;gt;-27.116667&amp;lt;/span&amp;gt;,&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-longitude&amp;quot;&amp;gt;-109.366667&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-geo&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;latitude&amp;quot;: [&lt;br /&gt;
          &amp;quot;-27.116667&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;longitude&amp;quot;: [&lt;br /&gt;
          &amp;quot;-109.366667&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;-27.116667, -109.366667&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-geo&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-geo.&lt;br /&gt;
&lt;br /&gt;
'''p-latitude''', '''p-longitude''' and '''p-altitude''' classnames define an element as a ''property'' of the h-geo.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-parsing]] to learn more about property classnames.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-geo properties, inside an element with class '''h-geo''':&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - decimal latitude&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - decimal longitude&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - decimal altitude&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
'''h-geo''' is a microformats.org draft specification. Public discussion on h-geo takes place on [[h-geo-feedback]] and the #microformats [[irc]] channel on libera.chat.&lt;br /&gt;
&lt;br /&gt;
h-geo is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-geos up with classic [[geo]] classnames.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
&lt;br /&gt;
'''p-altitude''' refers to the distance in metres from the nominal sea level along the tangent of the earth’s curve, i.e. the geoid height. For more information refer to the [http://en.wikipedia.org/wiki/WGS84 WGS84] specification and the [https://en.wikipedia.org/wiki/Geo_URI_scheme geo URI scheme].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
'''How should I mark up lat/long coordinates without them looking messy and confusing?'''&lt;br /&gt;
&lt;br /&gt;
Unless your content is targeted at an audience with a high leg authoring '''p-latitude''' and '''p-longitude''' as plain numbers on a webpage may not be the best approach. In addition to this there may be accessibility issues due to the potentially long strings of numbers being read out.&lt;br /&gt;
&lt;br /&gt;
You could present the coordinates in a more human-readable form, retaining the decimal coordinates inside data value attributes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-geo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-longitude&amp;quot; value=&amp;quot;-27.116667&amp;quot;&amp;gt;27° 7′ 0″ S&amp;lt;/data&amp;gt;,&lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-latitude&amp;quot; value=&amp;quot;-109.366667&amp;quot;&amp;gt;109° 22′ 0″ W&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively you could not show coordinates at all and simply show a human-readable representation of the location, with the lat/long in value attributes of empty data elements.&lt;br /&gt;
&lt;br /&gt;
== Examples in the Wild ==&lt;br /&gt;
* … add any h-geo examples you find in the wild&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[geo]] classnames in addition to the more future-proof h-geo properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-geo geo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-latitude latitude&amp;quot;&amp;gt;-27.116667&amp;lt;/span&amp;gt;,&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-longitude longitude&amp;quot;&amp;gt;-109.366667&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;quot;h-geo&amp;quot; is found, don't look for an &amp;quot;geo&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compatibility root class name: geo&lt;br /&gt;
&lt;br /&gt;
Properties: (parsed as p- plain text unless otherwise specified)&lt;br /&gt;
&lt;br /&gt;
* latitude&lt;br /&gt;
* longitude&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
h-geo is based on the [http://en.wikipedia.org/wiki/WGS84 WGS84] standard, as well as existing [[geo]] specification, which was extracted from [[hCard]] in order to allow it to be used for applications other than contact information. &lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[h-card]] and [[h-event]] often contain h-geo&lt;br /&gt;
* [[h-adr]] is used to mark up human-readable structured addresses&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-feed&amp;diff=70640</id>
		<title>h-feed</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-feed&amp;diff=70640"/>
		<updated>2023-07-26T21:19:49Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-feed&amp;lt;/dfn&amp;gt; is a simple, open format for publishing a stream or feed of [[h-entry]] posts, like complete posts on a home page or archive pages, or summaries or other brief lists of posts. h-feed is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-feed is the [[microformats2]] update to [[hAtom]], and in particular its &amp;quot;hfeed&amp;quot; root class.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:'''h-feed''' is a microformats.org draft specification.&lt;br /&gt;
:h-feed is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-feed up as a classic [[hAtom]] &amp;quot;hfeed&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;participate&amp;quot;&amp;gt;Participate&amp;lt;/span&amp;gt;&lt;br /&gt;
:[https://github.com/microformats/h-feed/issues Open Issues]&lt;br /&gt;
:[[IRC]]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
: {{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-feed properties, inside an element with class '''h-feed'''. All properties are optional.&lt;br /&gt;
&lt;br /&gt;
root class name: h-feed&lt;br /&gt;
&lt;br /&gt;
=== Core Properties ===&lt;br /&gt;
The following ''core'' h-feed properties have broad consensus:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the feed&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - author of the feed, optionally embed an [[h-card]] {{main|h-card}}&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - URL of the feed&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - representative photo / icon for the feed&lt;br /&gt;
&lt;br /&gt;
children:&lt;br /&gt;
* nested [[h-entry]] objects representing the items of the feed&lt;br /&gt;
&lt;br /&gt;
=== Draft Properties ===&lt;br /&gt;
None currently.&lt;br /&gt;
&lt;br /&gt;
=== Proposed Properties ===&lt;br /&gt;
The following properties are proposed additions based on various observed examples in the wild, but are awaiting at least one reader / real world consuming code example to become a draft property:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - based on non-trivial actual content usage of &amp;quot;atom:subtitle&amp;quot; on Blogger and WordPress.com featured blogs's Atom feeds.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-entry&amp;lt;/code&amp;gt;''' - to be more consistent with the cascading of p-author or [http://microformats.org/wiki/comment-brainstorming#Proposal p-comment].&lt;br /&gt;
&lt;br /&gt;
== Proposed Additions ==&lt;br /&gt;
&lt;br /&gt;
* Proposal that h-feed not be limited to h-entry, due use cases for feeds of h-cards or h-events https://github.com/microformats/h-feed/issues/3&lt;br /&gt;
* Proposal to add implied h-feed in cases where no h-feed is explicitly marked up. https://github.com/microformats/h-feed/issues/1&lt;br /&gt;
&lt;br /&gt;
== Discovery ==&lt;br /&gt;
Implementations may discover one or more h-feeds in several ways.&lt;br /&gt;
&lt;br /&gt;
* If the implementation is given a URL (e.g. from a user entering it) to do h-feed discovery, it:&lt;br /&gt;
** SHOULD do traditional feed discovery by looking through link elements with a rel value of &amp;quot;alternate&amp;quot;&lt;br /&gt;
** For each link alternate with a media type of &amp;lt;code&amp;gt;[https://indieweb.org/text/mf2%2Bhtml text/mf2+html]&amp;lt;/code&amp;gt;&lt;br /&gt;
**# get its href, &lt;br /&gt;
**# do any relative-URL resolution needed on that href to construct an absolute URL&lt;br /&gt;
**# fetch that absolute URL and [[microformats2-parsing|parse it]] (within a specific element matching a fragment in the URL if any) for microformats2 items, &lt;br /&gt;
**# look for top-level items (within that fragment element subtree if any) of type &amp;quot;h-feed&amp;quot;&lt;br /&gt;
** ALSO implementations MAY [[microformats2-parsing|parse the whole document]] and look in its top level items for those of type &amp;quot;h-feed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* If the implementation has already parsed an HTML document, it may look for elements with a class name of &amp;quot;h-feed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* Implementations may fetch public h-feeds without having to pass cookies or any other user-identifying information&lt;br /&gt;
* Implementations should parse h-feed documents without executing any scripts (parse as if scripting is disabled or unimplemented)&lt;br /&gt;
* If an implementation needs only one h-feed, it should take the first one found per the above methods&lt;br /&gt;
&lt;br /&gt;
=== Implied h-feed ===&lt;br /&gt;
In the absence of an explicit &amp;quot;h-feed&amp;quot; element, implementations may infer an h-feed of all top level microformats items in the document (as determined by [[microformats2-parsing]] the document). Among those top level items, if precisely one of them is an &amp;quot;h-card&amp;quot; then it is used to imply a &amp;quot;p-author h-card&amp;quot; property of the implied &amp;quot;h-feed&amp;quot; and is removed from the &amp;quot;children&amp;quot; array of the implied &amp;quot;h-feed&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
E.g. if an archive page has a collection of h-entry elements at the top level, implementations may imply an h-feed container for all of them and treat the entire document as a feed.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
&lt;br /&gt;
See https://indieweb.org/h-feed#IndieWeb_Examples for examples of h-feed in the wild.&lt;br /&gt;
&lt;br /&gt;
== Consumers ==&lt;br /&gt;
&lt;br /&gt;
See https://indieweb.org/h-feed#Consumers_of_H-Feed for examples of implementations that consume h-feed.&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[hAtom]] classnames in addition to the more future-proof h-feed properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-feed hfeed&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name site-title&amp;quot;&amp;gt;The Markup Blog&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-summary site-description&amp;quot;&amp;gt;Stories of elements of their attributes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;article class=&amp;quot;h-entry hentry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url&amp;quot; rel=&amp;quot;bookmark&amp;quot; href=&amp;quot;2020/06/22/balanced-divisive-complementary&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2 class=&amp;quot;p-name entry-title&amp;quot;&amp;gt;A Tale Of Two Tags: Part 2&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;address class=&amp;quot;p-author author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a href=&amp;quot;https://chandra.example.com/&amp;quot; class=&amp;quot;u-url url p-name fn&amp;quot; rel=&amp;quot;author&amp;quot;&amp;gt;Chandra&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;time class=&amp;quot;dt-published published&amp;quot; datetime=&amp;quot;2012-06-22T09:45:57-07:00&amp;quot;&amp;gt;June 21, 2012&amp;lt;/time&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;p-summary entry-summary&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;From balanced harmony, to divisive misunderstandings, to complementary roles.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;a href=&amp;quot;/category/uncategorized/&amp;quot; rel=&amp;quot;category tag&amp;quot; class=&amp;quot;p-category&amp;quot;&amp;gt;General&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/article&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;article class=&amp;quot;h-entry hentry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url&amp;quot; rel=&amp;quot;bookmark&amp;quot; href=&amp;quot;2020/06/20/best-visible-alternative-invisible&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;h2 class=&amp;quot;p-name entry-title&amp;quot;&amp;gt;A Tale Of Two Tags: Part 1&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;address class=&amp;quot;p-author author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a href=&amp;quot;https://chandra.example.com/&amp;quot; class=&amp;quot;u-url url p-name fn&amp;quot; rel=&amp;quot;author&amp;quot;&amp;gt;Chandra&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;time class=&amp;quot;dt-published published&amp;quot; datetime=&amp;quot;2012-06-20T08:34:46-07:00&amp;quot;&amp;gt;June 20, 2012&amp;lt;/time&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;p-summary entry-summary&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;It was the best of visible tags, it was the alternative invisible tags.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;a href=&amp;quot;/category/uncategorized/&amp;quot; rel=&amp;quot;category tag&amp;quot; class=&amp;quot;p-category&amp;quot;&amp;gt;General&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/article&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Note: you may use any valid HTML5 elements. The &amp;lt;code&amp;gt;article h1 h2 address time&amp;lt;/code&amp;gt; elements are used in the example as semantically richer suggestions, however in general &amp;lt;code&amp;gt;div span&amp;lt;/code&amp;gt; work fine too. The &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element is special though in that its &amp;lt;code&amp;gt;datetime&amp;lt;/code&amp;gt; attribute provides a more author/user friendly way of separating a machine readable ISO8601 datetime from a human readable summary.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt;''' is a ''backward compatible root class name'' that indicates the presence of an [[hAtom]] feed.&lt;br /&gt;
&lt;br /&gt;
Backward compatibility hAtom property class names and rel values are listed below.&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;quot;h-feed&amp;quot; is found, don't look for an &amp;quot;hfeed&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compat root class name: &amp;lt;code id=&amp;quot;hfeed&amp;quot;&amp;gt;hfeed&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Properties: (parsed as '''p-''' plain text unless otherwise specified):&lt;br /&gt;
&lt;br /&gt;
(this section is a stub and needs review and citations to note what real world examples would each of these backcompat parsing rules actually help parse)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=tag&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''. While not a class name nor typical microformats property, rel=tag was the defined way to tag an hfeed. Thus parsers should look for rel=tag hyperlinks inside an hfeed, and take the last path segment of their &amp;quot;href&amp;quot; value as a value for a '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' property.&lt;br /&gt;
* &amp;lt;code&amp;gt;site-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' [WordPress (Core? Typical themes?) has this class name by default, and without it buggy parsers may imply p-name as the whole h-feed ([http://microformats.org/wiki/microformats2-parsing#parsing_for_implied_properties implied properties only apply to actual h-x roots, not backcompat]).]&lt;br /&gt;
* &amp;lt;code&amp;gt;site-description&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' [WordPress (Core? Typical themes?) has this class name by default]&lt;br /&gt;
&lt;br /&gt;
If no &amp;quot;h-feed&amp;quot; nor &amp;quot;hfeed&amp;quot; element is found, however multiple top-level [[h-entry]] elements (explicit or backcompat) are found, implementations may use:&lt;br /&gt;
* top level [[h-entry]] elements as items in a synthetic h-feed.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;title&amp;amp;gt;&amp;lt;/code&amp;gt; of the page or the URL of the page as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* https://indieweb.org/authorship on the page to discover default authorship for any h-entry posts lacking explicit parsed &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; properties.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== How do I avoid duplicating the page title ===&lt;br /&gt;
''I want to use the name (title) of my page as the name of my feed, how do I avoid duplicating the page title somewhere invisibly on the page as the feed name?''&lt;br /&gt;
&lt;br /&gt;
If you want re-use the &amp;amp;lt;title&amp;amp;gt; of your page as the name of your feed, you can do so by putting the h-feed root class name on the &amp;amp;lt;html&amp;amp;gt; element, and the p-name property class name on the &amp;amp;lt;title&amp;amp;gt; element, e.g. here's a snippet showing how those tags would look:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html class=&amp;quot;h-feed&amp;quot;&amp;gt;&lt;br /&gt;
  … &lt;br /&gt;
  &amp;lt;title class=&amp;quot;p-name&amp;quot;&amp;gt;The Markup Blog&amp;lt;/title&amp;gt;&lt;br /&gt;
  …&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[h-entry]]&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[hAtom]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-event&amp;diff=70639</id>
		<title>h-event</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-event&amp;diff=70639"/>
		<updated>2023-07-26T21:18:23Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:h-event}}&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-event&amp;lt;/dfn&amp;gt; is a simple, open format for events on the web. h-event is often used with both event listings and individual event pages. h-event is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-event is the [[microformats2]] update to [[hCalendar]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Living Specification''' yet mature enough to encourage additional implementations and [https://github.com/microformats/h-event/issues feedback].&lt;br /&gt;
;&amp;lt;span id=&amp;quot;participate&amp;quot;&amp;gt;Participate&amp;lt;/span&amp;gt;&lt;br /&gt;
:[https://github.com/microformats/h-event/issues Open Issues]&lt;br /&gt;
:[[IRC]]&lt;br /&gt;
:Advance the spec by contributing to a consensus in [https://github.com/microformats/h-event/issues/1 issue: adopt same change control as h-entry]&lt;br /&gt;
&amp;lt;div class=&amp;quot;p-author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
: {{cc0-owfa-license}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple event example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name&amp;quot;&amp;gt;Microformats Meetup&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;From &lt;br /&gt;
    &amp;lt;time class=&amp;quot;dt-start&amp;quot; datetime=&amp;quot;2013-06-30 12:00&amp;quot;&amp;gt;30&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; June 2013, 12:00&amp;lt;/time&amp;gt;&lt;br /&gt;
    to &amp;lt;time class=&amp;quot;dt-end&amp;quot; datetime=&amp;quot;2013-06-30 18:00&amp;quot;&amp;gt;18:00&amp;lt;/time&amp;gt;&lt;br /&gt;
    at &amp;lt;span class=&amp;quot;p-location&amp;quot;&amp;gt;Some bar in SF&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-summary&amp;quot;&amp;gt;Get together and discuss all things microformats-related.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-event&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;Microformats Meetup&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;start&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-30 12:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;end&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-30 18:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;location&amp;quot;: [&lt;br /&gt;
          &amp;quot;Some bar in SF&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;summary&amp;quot;: [&lt;br /&gt;
          &amp;quot;Get together and discuss all things microformats-related.&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-event&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-event.&lt;br /&gt;
&lt;br /&gt;
'''p-name''', '''dt-start''', '''dt-end''', '''p-location''', '''p-summary''', and the other h-event property class names listed below define ''properties'' of the h-event.&lt;br /&gt;
&lt;br /&gt;
See [[microformats2-parsing]] to learn more about property class names.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-event properties, inside an element with class '''h-event''':&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - event name (or title)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - short summary of the event&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;''' - datetime the event starts&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;''' - datetime the event ends&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;''' - duration of the event&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-description&amp;lt;/code&amp;gt;''' - more detailed description of the event&lt;br /&gt;
** '''WARNING:''' Proposed to be replaced by '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' (re-used from [[h-entry]])&lt;br /&gt;
** See and follow-up: https://github.com/microformats/h-event/issues/3&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - permalink for the event&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - event category(ies)/tag(s)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;''' - where the event takes place, optionally embedded [[h-card]], [[h-adr]], or [[h-geo]]&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
=== Experimental Properties ===&lt;br /&gt;
&lt;br /&gt;
These properties are currently in use in the wild but not (yet) part of the draft h-event spec:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-attendee&amp;lt;/code&amp;gt;''' - a person attending the event, optionally embed [[h-card]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* This draft has not been updated in almost 2 years. During this period, &amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;p-rsvp&amp;lt;/code&amp;gt; has been standardised, thus making it robust and mature enough for the addition. I guess it's about time to unlabel &amp;lt;code&amp;gt;p-attendee&amp;lt;/code&amp;gt; as experimental.&lt;br /&gt;
** I've filed https://github.com/microformats/h-event/issues/2 to track advancing this draft as a whole. Let's do that with the existing draft before discussing p-attendee in particular. And rather than guessing, take a look at the vocabulary maturity levels in h-entry and perhaps help evaluate (in another issue) p-attendee according to those criteria. [[User:Tantek|Tantek]] 01:10, 28 February 2017 (UTC)&lt;br /&gt;
* I would also suggest to extend expected value to [[h-entry]], so that, while the personal info can be preserved, the attendee can also support p-rsvp property of h-entry.&lt;br /&gt;
** I don't understand this. p-attendee is supposed to represent a person, e.g. an [[h-card]]. How would it having that be an [[h-entry]] make sense and work (from a publishing and consuming code perspective)? This proposed extension to p-attendee may be worth its own issue as well. [[User:Tantek|Tantek]] 01:10, 28 February 2017 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organizer&amp;lt;/code&amp;gt;''' - a person organizing an event, optionally embedded [[h-card]]. Used in Indieweb events, but not consumed. https://github.com/microformats/h-event/issues/10&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-rsvp&amp;lt;/code&amp;gt;''' - similar to the proposed u-comment on h-entry, this would be the proposed property to mark up displayed RSVPs on an h-event. https://github.com/microformats/h-event/issues/9&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
'''h-event''' is a microformats.org draft specification. Public discussion on h-event takes place on the [[irc|#microformats channel on irc.freenode.net]] ([https://chat.indieweb.org/microformats view recent discussions]), and specific issues [https://github.com/microformats/h-event/issues may be filed on GitHub].&lt;br /&gt;
&lt;br /&gt;
h-event is ready to use and implemented in the wild. For backwards compatibility you should also mark up top-level h-events as classic [[hCalendar]] events.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
(stub, to be expanded)&lt;br /&gt;
&lt;br /&gt;
=== p-location ===&lt;br /&gt;
&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; is typically a physical address, optionally marked up with [[h-adr]], for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;p-location h-adr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;17 Austerstræti&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Reykjavík&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-country-name&amp;quot;&amp;gt;Iceland&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reserved Properties ===&lt;br /&gt;
Reserved properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-organizer&amp;lt;/code&amp;gt;''' - a person (co-)organizing the event, optionally embed [[h-card]] {{main|h-card}}&lt;br /&gt;
** proposed as way to [https://github.com/snarfed/bridgy/issues/275 implement copying an event organizer to Eventbrite]&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Real world in the wild examples:&lt;br /&gt;
&lt;br /&gt;
* ... add uses of h-event you see in the wild here.&lt;br /&gt;
* [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.&lt;br /&gt;
* [http://tantek.com/ Tantek Çelik] uses h-event on his home page&lt;br /&gt;
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event&lt;br /&gt;
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats2]] h-event and h-card markup&lt;br /&gt;
* WebMaker by Mozilla has h-event and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&amp;amp;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]&lt;br /&gt;
* [http://indiewebcamp.com IndieWebCamp] has [[microformats2]] h-event markup with embedded h-cards for the organizers and the location.&lt;br /&gt;
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats2]] h-event markup with attendees marked up with h-card.&lt;br /&gt;
* https://gregorlove.com/events has h-event markup, for example: https://gregorlove.com/2017/06/homebrew-website-club/&lt;br /&gt;
** has additional property from [[h-entry]]: &amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;&lt;br /&gt;
* https://oauth.net/events/ has a list of h-event marked up events relating to OAuth, both future and past&lt;br /&gt;
* http://68middle.st/events has events marked up in h-event&lt;br /&gt;
* [https://www.gov.uk/government/publications/open-standards-for-government/exchange-of-calendar-events gov.uk] mentions that iCalendar can be translated into h-event microformats in their &amp;quot;Exchange of calendar events&amp;quot; guidance.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;You can map events to and from iCalendar from other formats, such as h-event.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[microformats2#Examples_in_the_wild|microformats2 examples in the wild]] for more&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
Software implementations that publish or consume h-event, including themes, plugins, or extensions:&lt;br /&gt;
&lt;br /&gt;
When adding an implementation, please provide and link to its home page and open source repo if any.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/gRegorLove/mf2-to-iCalendar mf2 to iCalendar]: Convert microformats h-event to iCalendar. Example: https://gregorlove.com/calendar/&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[hCalendar]] classnames in addition to the more future-proof h-event properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-event vevent&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name summary&amp;quot;&amp;gt;Some great event&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;quot;h-event&amp;quot; is found, don't look for a &amp;quot;vevent&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compat root class name: &amp;lt;code id=&amp;quot;vevent&amp;quot;&amp;gt;vevent&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Properties: (parsed as '''p-''' plain text unless otherwise specified)&lt;br /&gt;
* &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtstart&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-start&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;dtend&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-end&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;dt-duration&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; - parse as '''u-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;, and compat root &amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-location h-geo&amp;lt;/code&amp;gt;''' including compat root &amp;lt;code&amp;gt;geo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== iCalendar Compatibility ===&lt;br /&gt;
hCalendar-specific implementations that perform custom display or translation to iCalendar .ics {{should}} prefer &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; over &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, and use &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt; value(s) as a fallback if there is no &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
This work is based on the existing [[hCalendar]] and [[iCalendar]] specifications.&lt;br /&gt;
&lt;br /&gt;
== Design Principles ==&lt;br /&gt;
(stub, expand)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[h-calendar-to-do]]&lt;br /&gt;
* [[h-event-brainstorming]]&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* [[h-adr]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[h-card]]&lt;br /&gt;
* [[hCalendar]]&lt;br /&gt;
* [[h-entry]]s can be RSVPs to events, using the p-rsvp property&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-entry&amp;diff=70638</id>
		<title>h-entry</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-entry&amp;diff=70638"/>
		<updated>2023-07-26T21:16:46Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:h-entry}}&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-entry&amp;lt;/dfn&amp;gt; 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]] standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-entry is the [[microformats2]] update to [[hAtom]], in particular its &amp;quot;hentry&amp;quot; root class which itself was based on [[Atom]]'s &amp;quot;entry&amp;quot; element. For an update to &amp;quot;hfeed&amp;quot; see [[h-feed]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Living Specification''' yet mature enough to encourage additional implementations and [[h-entry-issues|feedback]]. This specification has portions that are stable, draft, and proposed. Features are stable unless explicitly labeled draft or proposed, or in draft or proposed sections. Draft and proposed features are likely to change substantively. While substantive changes to stable features are unexpected, it is a living specification subject to substantive change by issues and errata filed in response to implementation experience, requiring consensus among participating implementers as part of an explicit [[#change_control|change control]] process. &lt;br /&gt;
;&amp;lt;span id=&amp;quot;participate&amp;quot;&amp;gt;Participate&amp;lt;/span&amp;gt;&lt;br /&gt;
:[https://github.com/microformats/h-entry/issues Open Issues]&lt;br /&gt;
:[[h-entry-issues|Resolved issues before 2012-246]]&lt;br /&gt;
:[[IRC]]&lt;br /&gt;
:Advance the spec by following explicit [[#change_control|change control]] process &lt;br /&gt;
&amp;lt;div class=&amp;quot;p-author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
: {{cc0-owfa-license}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple blog post example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;article class=&amp;quot;h-entry&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name&amp;quot;&amp;gt;Microformats are amazing&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Published by &amp;lt;a class=&amp;quot;p-author h-card&amp;quot; href=&amp;quot;http://example.com&amp;quot;&amp;gt;W. Developer&amp;lt;/a&amp;gt;&lt;br /&gt;
     on &amp;lt;time class=&amp;quot;dt-published&amp;quot; datetime=&amp;quot;2013-06-13 12:00:00&amp;quot;&amp;gt;13&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; June 2013&amp;lt;/time&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;p class=&amp;quot;p-summary&amp;quot;&amp;gt;In which I extoll the virtues of using microformats.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;div class=&amp;quot;e-content&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Blah blah blah&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/article&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-entry&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;Microformats are amazing&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;author&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;W. Developer&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
              &amp;quot;h-card&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
              &amp;quot;name&amp;quot;: [&lt;br /&gt;
                &amp;quot;W. Developer&amp;quot;&lt;br /&gt;
              ],&lt;br /&gt;
              &amp;quot;url&amp;quot;: [&lt;br /&gt;
                &amp;quot;http://example.com&amp;quot;&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;published&amp;quot;: [&lt;br /&gt;
          &amp;quot;2013-06-13 12:00:00&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;summary&amp;quot;: [&lt;br /&gt;
          &amp;quot;In which I extoll the virtues of using microformats.&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;content&amp;quot;: [&lt;br /&gt;
          {&lt;br /&gt;
            &amp;quot;value&amp;quot;: &amp;quot;Blah blah blah&amp;quot;,&lt;br /&gt;
            &amp;quot;html&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Blah blah blah&amp;lt;/p&amp;gt;&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get started ==&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-entry&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-entry.&lt;br /&gt;
&lt;br /&gt;
'''p-name''', '''p-author''', '''dt-published''' and the other h-entry property classnames listed below define properties of the h-entry.&lt;br /&gt;
&lt;br /&gt;
Note: The purpose of an entry is to place it around both the explicitly written content (in the content property or in other specific properties for non-textual content or responses) and whatever else is the context for that content, including properties for when it was published and/or updated, who created it, tags or categorization, and links to what the content is a response to (perhaps with a quoted excerpt) and/or links to syndicated copies.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-entry properties, inside an element with class '''h-entry'''. All properties are optional and may be plural.&lt;br /&gt;
* See [[microformats2-parsing]] to learn more about property classnames.&lt;br /&gt;
&lt;br /&gt;
=== Core Properties ===&lt;br /&gt;
The following ''core'' h-entry properties have broad consensus and are broadly interoperably published and consumed:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - entry name/title&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;''' - short entry summary&lt;br /&gt;
* '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;''' - full content of the entry&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - when the entry was published&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-updated&amp;lt;/code&amp;gt;''' - when the entry was updated&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - who wrote the entry, optionally embedded [[h-card]](s)&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' - entry categories/tags&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - entry permalink URL&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;''' - universally unique identifier, typically canonical entry URL&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;''' - location the entry was posted from, optionally embed [[h-card]], [[h-adr]], or [[h-geo]]&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;u-syndication&amp;quot;&amp;gt;u-syndication&amp;lt;/code&amp;gt;''' - URL(s) of syndicated copies of this post. The property equivalent of [[rel-syndication]] ([http://erinjo.is/2014/checked-into-rockit-colabs-23 example])&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-in-reply-to&amp;lt;/code&amp;gt;''' - the URL which the h-entry is considered reply to (i.e. doesn’t make sense without context, could show up in comment thread), optionally an embedded [[h-cite]] ([http://indiewebcamp.com/reply-context reply-context]) ([https://kartikprabhu.com/notes/re-citizen-of-indieweb example])&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;p-rsvp&amp;quot;&amp;gt;p-rsvp&amp;lt;/code&amp;gt;''' (enum, use &amp;amp;lt;data&amp;gt; element or [[value-class-pattern]])&lt;br /&gt;
** &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, &amp;quot;maybe&amp;quot;, &amp;quot;interested&amp;quot;. Case-insensitive values, normalized to lowercase. Examples:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;... &amp;lt;data class=&amp;quot;p-rsvp&amp;quot; value=&amp;quot;YES&amp;quot;&amp;gt;is going&amp;lt;/data&amp;gt; to ...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, or&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;... &amp;lt;data class=&amp;quot;p-rsvp&amp;quot; value=&amp;quot;Maybe&amp;quot;&amp;gt;might go&amp;lt;/data&amp;gt; to ...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;... &amp;lt;data class=&amp;quot;p-rsvp&amp;quot; value=&amp;quot;no&amp;quot;&amp;gt;unable to go&amp;lt;/data&amp;gt; to ...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;... &amp;lt;data class=&amp;quot;p-rsvp&amp;quot; value=&amp;quot;interested&amp;quot;&amp;gt;am interested/tracking/watching&amp;lt;/data&amp;gt;  ...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;u-like-of&amp;quot;&amp;gt;u-like-of&amp;lt;/code&amp;gt;''' - the URL which the h-entry is considered a “like” (favorite, star) of. Optionally an embedded [[h-cite]]&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;u-repost-of&amp;quot;&amp;gt;u-repost-of&amp;lt;/code&amp;gt;''' - the URL which the h-entry is considered a “repost” of. Optionally an embedded [[h-cite]].&lt;br /&gt;
&lt;br /&gt;
=== Draft Properties ===&lt;br /&gt;
The following draft properties are in use in the wild (published and consumed), and are under strong consideration, but are not yet part of the core:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;p-comment&amp;quot;&amp;gt;p-comment&amp;lt;/code&amp;gt;''' - optionally embedded (or nested?) [[h-cite]](s), each of which is a comment on/reply to the parent h-entry. See [[comment-brainstorming]] ([http://waterpigs.co.uk/notes/4V2DjG/ example])&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/20 Issue 20]&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;u-photo&amp;quot;&amp;gt;u-photo&amp;lt;/code&amp;gt;''' - one or more photos that is/are considered the primary content of the entry, unless there is a &amp;lt;code&amp;gt;p-location h-card&amp;lt;/code&amp;gt;, which is still considered a &amp;quot;checkin&amp;quot; (i.e. with a photo). Otherwise the presence of a u-photo means the name of the entry should be interpreted as a caption on the photo, and the summary/content should be interpreted as a description of the photo.&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/4 Issue 4: u-photo draft-&amp;gt;core bc way more than 3+ pub and consuming impls/sites]&lt;br /&gt;
*** depends on: [https://github.com/microformats/h-entry/issues/24 Issue 24: Update Definition of Draft Property u-photo]&lt;br /&gt;
*** depends on: [https://github.com/microformats/h-entry/issues/23 Issue 23: E-Content Overlaps with u-photo and similar properties]&lt;br /&gt;
** Proposed (issue TBF): A &amp;lt;code&amp;gt;u-photo&amp;lt;/code&amp;gt; property MUST be on an element that provides a text description for the image (e.g. &amp;lt;code&amp;gt;&amp;amp;lt;img alt=&amp;quot;&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt;) UNLESS the image is already described inside the contents a text property such as &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''&amp;lt;code id=&amp;quot;u-video&amp;quot;&amp;gt;u-video&amp;lt;/code&amp;gt;''' - special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;video src&amp;gt; &amp;amp; &amp;amp;lt;source src&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/5 Issue 5]&lt;br /&gt;
&lt;br /&gt;
=== Proposed Additions ===&lt;br /&gt;
The following properties are proposed additions based on various use-cases, such as existing [[link-preview-brainstorming|link preview]] markup conventions, but are awaiting citations of use across multiple sites in the wild, and at least one reader / real world consuming code example:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-audio&amp;lt;/code&amp;gt;''' - special u- parsing rules for &amp;lt;code&amp;gt;&amp;amp;lt;audio src&amp;gt; &amp;amp; &amp;amp;lt;source src&amp;gt;&amp;lt;/code&amp;gt;. Examples: [http://transportini.com/ Transportini],[https://indieweb.org/podcast#How_to_podcast_with_h-feed possibly more]&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/6 Issue 6]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-like&amp;lt;/code&amp;gt;''' - similar to p-comment, URL to a like post of the current post, e.g. in a responses list or facepile.&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/31 Issue 32]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-repost&amp;lt;/code&amp;gt;''' - similar to u-like, URL to a repost of the current post, e.g. in a responses list or facepile.&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/30 Issue 30]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-bookmark-of&amp;lt;/code&amp;gt;''' - indicates this h-entry is a bookmark of another URL. Optionally an [[h-cite]]. See [https://indieweb.org/bookmark indieweb.org/bookmark] for examples in the wild.&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/12 Issue 12]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-featured&amp;lt;/code&amp;gt;''' - 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]].&lt;br /&gt;
** +1 sknebel: https://github.com/microformats/h-entry/issues/14&lt;br /&gt;
* Location Properties - https://github.com/microformats/h-entry/issues/29&lt;br /&gt;
** '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - latitude of the location of the entry&lt;br /&gt;
** '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - longitude of the location of the entry&lt;br /&gt;
** '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - altitude of the location of the entry&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-duration&amp;lt;/code&amp;gt;''' - duration of an audio or video file in the entry. https://indieweb.org/duration Multiple publishers and consumers in the wild; https://github.com/snarfed/granary/issues/169 more background.&lt;br /&gt;
** [https://github.com/microformats/h-entry/issues/21 Issue 21]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-size&amp;lt;/code&amp;gt;''' - size in bytes of an audio or video file in the entry. https://indieweb.org/size Multiple publishers and consumers in the wild; https://github.com/snarfed/granary/issues/169 more background.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-listen-of&amp;lt;/code&amp;gt;''' - also known as a 'scrobble', indicates this h-entry is a listen of another URL. Optionally an h-cite. https://github.com/microformats/h-entry/issues/11&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-watch-of&amp;lt;/code&amp;gt;''' - indicates this h-entry is a watch of another URL, a visual version of the scrobble. Optionally an h-cite. https://github.com/microformats/h-entry/issues/17&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-read-of&amp;lt;/code&amp;gt;''' - indicates this h-entry is a read post of some written work (book or other document). The value can be the title of the work or an h-cite. Proposal also mentions &amp;lt;code&amp;gt;u-read-of&amp;lt;/code&amp;gt;, where the value would be a URL to the written work or a representative citation page. https://github.com/microformats/h-entry/issues/10&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-translation-of&amp;lt;/code&amp;gt;''' - indicates this h-entry is a translation of the linked URL into another language. Can be used in the same way as the existing &amp;lt;code&amp;gt;u-like-of&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;u-repost-of&amp;lt;/code&amp;gt; properties, with just the URL to the original h-entry, or (optionally) contain an embedded &amp;lt;code&amp;gt;h-cite&amp;lt;/code&amp;gt;. https://github.com/microformats/h-entry/issues/26&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-checkin&amp;lt;/code&amp;gt;''' - the URL of the venue/location h-card which the h-entry is considered a “checkin” of. Optionally an embedded h-card. https://github.com/microformats/h-entry/issues/15&lt;br /&gt;
&lt;br /&gt;
The following interpretation is also proposed addition:&lt;br /&gt;
* if the &amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; is also an embedded [[h-card]], the entry is treated as a &amp;quot;checkin&amp;quot;.&lt;br /&gt;
** -1 [[User:Aaronpk|Aaronpk]] 14:22, 19 January 2017 (UTC) [https://aaronparecki.com/2017/01/13/21/ this post] is not a checkin, but has an h-card as the p-location property. &lt;br /&gt;
&lt;br /&gt;
Note: As [[h-entry]] usage grows to express and consume different kinds of content, we expect additional properties may be proposed and iterated as demonstrated by real-world needs, usage, and interoperability.&lt;br /&gt;
&lt;br /&gt;
=== Proposing and upgrading ===&lt;br /&gt;
How do you add proposed properties and then upgrade them to draft and then core properties?&lt;br /&gt;
&lt;br /&gt;
See: [[h-entry#change_control|change control]]&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
This section is a stub.&lt;br /&gt;
=== p-location ===&lt;br /&gt;
'''&amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt;''' has been re-used from [[h-event]].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== p-name of a note ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''What is the &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; of a [https://indieweb.org/note note]?'''&lt;br /&gt;
** You probably should avoid adding &amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt; to notes. See https://indieweb.org/note for more discussion of the topic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== venue an entry was posted from ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''How do you indicate a named venue where an entry was posted from? Like a restaurant or park.'''&lt;br /&gt;
** Use an embedded [[h-card]] microformat on a &amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; property value.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== address an entry was posted from ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''How do you indicate the address where an entry was posted from? Like a restaurant or park.'''&lt;br /&gt;
** If the address is just part of a named venue, see above, use an [[h-card]]&lt;br /&gt;
** Otherwise use an embedded [[h-adr]] microformat on a &amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; property value.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== lat long an entry was posted from ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''How do you indicate the latitude and longitude of where an entry was posted from?'''&lt;br /&gt;
** If the location has a name in addition to latitude and longitude, see above, use an [[h-card]]&lt;br /&gt;
** Otherwise if there is an address in addition to latitude and longitude, see above, use an [[h-adr]]&lt;br /&gt;
** Otherwise use an embedded [[h-geo]] microformat on a &amp;lt;code&amp;gt;p-location&amp;lt;/code&amp;gt; property value.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== dt-published property and HTML5 time element ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* '''Does the dt-published property need to be a time element?'''&lt;br /&gt;
** The &amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt; property should be a &amp;lt;code&amp;gt;&amp;amp;lt;time&amp;amp;gt;&amp;lt;/code&amp;gt; element so that you can take advantage of HTML5's &amp;quot;datetime&amp;quot; property.&lt;br /&gt;
** This lets you specify a human-readable date in the value of the attribute, and the ISO8601 machine-readable date in the &amp;quot;datetime&amp;quot; property.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== what is the bare minimum list of required properties on an h-entry ===&lt;br /&gt;
; What is the bare minimum list of required properties on an h-entry?&lt;br /&gt;
: No properties are explicitly required, but in practice a h-entry should have the following properties at a minimum for consumers:&lt;br /&gt;
:* &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;&lt;br /&gt;
:* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; — if there is no &amp;quot;published&amp;quot; date for the &amp;quot;entry&amp;quot;, then reconsider whether it is correct (or worth) marking it up as an entry.&lt;br /&gt;
&lt;br /&gt;
; What properties should an h-entry have in addition to the bare minimum?&lt;br /&gt;
: Beyond the bare minimum, a typical h-entry should have the following as well:&lt;br /&gt;
:* &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;summary&amp;lt;/code&amp;gt; at least) - especially for structured content. For a plain text note, the content/summary (whichever is used) should be the same as the &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, otherwise it will be implied from the text content of the root element.&lt;br /&gt;
:* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - for explicitly named/titled entries like blog posts and articles. Otherwise the entry is assumed to be a &amp;quot;title-less&amp;quot; [https://indieweb.org/note note] (like a tweet).&lt;br /&gt;
:* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including a nested &amp;lt;code&amp;gt;[[h-card]]&amp;lt;/code&amp;gt; with author details like name, photo, url.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Real world in the wild examples of sites and services that publish or consume h-entry:&lt;br /&gt;
&lt;br /&gt;
* ... add uses of h-entry you see in the wild here.&lt;br /&gt;
* ind.ie mark up their [https://ind.ie/blog blog] listing and [https://ind.ie/blog/autumn-events-2014/ permalink] pages with h-entry&lt;br /&gt;
* 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]&lt;br /&gt;
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]&lt;br /&gt;
* 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]&lt;br /&gt;
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]&lt;br /&gt;
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]&lt;br /&gt;
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]&lt;br /&gt;
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]&lt;br /&gt;
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]&lt;br /&gt;
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]&lt;br /&gt;
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]&lt;br /&gt;
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]&lt;br /&gt;
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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))&lt;br /&gt;
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]&lt;br /&gt;
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]&lt;br /&gt;
* 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]&lt;br /&gt;
* 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]&lt;br /&gt;
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]&lt;br /&gt;
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]&lt;br /&gt;
* Okinawan-lyrics marks up his posts with h-entry and h-card ([http://www.okinawan-lyrics.com/ example])&lt;br /&gt;
* App.net marks up profile pages and permalink pages with h-entry as of 2013-08-06 ([https://alpha.app.net/voidfiles example])&lt;br /&gt;
* The Twitter archive browser UI uses h-entry and h-card internally, unfortunately it’s not exposed as HTML in static files anywhere&lt;br /&gt;
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])&lt;br /&gt;
* 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])&lt;br /&gt;
* 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])&lt;br /&gt;
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])&lt;br /&gt;
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])&lt;br /&gt;
* Numerous newer W3C specs, e.g.&lt;br /&gt;
** [http://www.w3.org/TR/2013/CR-css3-values-20130404/ CSS Values and Units Module Level 3 - 2013-04-04]&lt;br /&gt;
** [http://www.w3.org/TR/2013/CR-css3-conditional-20130404/ CSS Conditional Rules Module Level 3 - 2013-04-04]&lt;br /&gt;
** [http://www.w3.org/TR/2013/WD-css3-page-20130314/ CSS Paged Media Module Level 3 - 2013-03-14]&lt;br /&gt;
** [http://www.w3.org/TR/2013/WD-css-counter-styles-3-20130221/ CSS Counter Styles Level 3 - 2013-02-21]&lt;br /&gt;
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry.&lt;br /&gt;
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages&lt;br /&gt;
* Aaron Parecki uses h-entry to mark up notes, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].&lt;br /&gt;
* [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&lt;br /&gt;
* [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].&lt;br /&gt;
&lt;br /&gt;
=== offline ===&lt;br /&gt;
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
* '''[http://indiewebify.me/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&lt;br /&gt;
* '''[http://shrewdness.waterpigs.co.uk/test/ Shrewdness h-entry/h-feed validator]''' shows how shrewdness interprets+displays h-entries, with original source and interim formats, works for single h-entries and feed pages&lt;br /&gt;
&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
Software implementations that publish or consume h-entry, including themes, plugins, or extensions:&lt;br /&gt;
&lt;br /&gt;
(This section is a stub that needs expansion! In practice, nearly every CMS on every [https://indieweb.org/ indie web] site supports publishing h-entry by default.)&lt;br /&gt;
&lt;br /&gt;
When adding an implementation, please provide and link to its home page and open source repo if any.&lt;br /&gt;
* [https://gnu.io/social/ GNUsocial] [https://git.gnu.io/gnu/gnu-social/ source code]&lt;br /&gt;
* [https://hubzilla.org/hubzilla/ Hubzilla] [https://github.org/redmatrix/hubzilla source code]&lt;br /&gt;
* [http://friendica.com/ Friendica] [https://github.org/friendica/friendica source code]&lt;br /&gt;
* [http://github.com/dissolve/inkblot InkBlot]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility with legacy [[hAtom]] consuming implementations, use [[hAtom]] classnames (or rel values) in addition to the more future-proof h-entry properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;article class=&amp;quot;h-entry hentry&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1 class=&amp;quot;p-name entry-title&amp;quot;&amp;gt;A Tale Of Two Tags&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;address class=&amp;quot;p-author author h-card vcard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a href=&amp;quot;https://chandra.example.com/&amp;quot; class=&amp;quot;u-url url p-name fn&amp;quot; rel=&amp;quot;author&amp;quot;&amp;gt;Chandra&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-published published&amp;quot; datetime=&amp;quot;2012-06-20T08:34:46-07:00&amp;quot;&amp;gt;June 20, 2012&amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;e-content entry-content&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;It was the best of visible tags, it was the alternative invisible tags.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;The a tag is perhaps the best of HTML, yet its corresponding invisible link tag has uses too.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;/category/uncategorized/&amp;quot; rel=&amp;quot;category tag&amp;quot; class=&amp;quot;p-category&amp;quot;&amp;gt;General&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/article&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Note: you may use any valid HTML5 elements. The &amp;lt;code&amp;gt;article h1 address time&amp;lt;/code&amp;gt; elements are used in the example as semantically richer suggestions, however in general &amp;lt;code&amp;gt;div span&amp;lt;/code&amp;gt; work fine too. The &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt; element is special though in that its &amp;lt;code&amp;gt;datetime&amp;lt;/code&amp;gt; attribute provides a more author/user friendly way of separating a machine readable ISO8601 datetime from a human readable summary.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The list of equivalent [[hAtom]] classnames and rel values is provided below.&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;quot;h-entry&amp;quot; is found, don't look for an &amp;quot;hentry&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compat root class name: &amp;lt;code id=&amp;quot;hentry&amp;quot;&amp;gt;hentry&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Properties: (parsed as '''p-''' plain text unless otherwise specified):&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-summary&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;e-content&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt; - parse as '''dt-'''&lt;br /&gt;
* &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; - including compat root &amp;lt;code&amp;gt;vcard&amp;lt;/code&amp;gt; in the absence of &amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=bookmark&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;'''. While not a class name nor typical microformats property, rel=bookmark was the only way to indicate an hentry permalink. Thus parsers should look for rel=bookmark hyperlinks inside an hentry, and take their &amp;quot;href&amp;quot; value as a value for a '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' property, including handling any relative URL resolution.&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=tag&amp;lt;/code&amp;gt; - parse as '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;'''. While not a class name nor typical microformats property, rel=tag was the typical way to tag an hentry. Thus parsers should look for rel=tag hyperlinks inside an hentry, and take the last path segment of their &amp;quot;href&amp;quot; value as a value for a '''&amp;lt;code&amp;gt;p-category&amp;lt;/code&amp;gt;''' property.&lt;br /&gt;
&lt;br /&gt;
Proposed: ([https://github.com/microformats/h-entry/issues/7 follow-up in issue #7])&lt;br /&gt;
* &amp;lt;code&amp;gt;time.entry-date[datetime]&amp;lt;/code&amp;gt; - in the absence of &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;, parse as '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;'''. parse for the first &amp;lt;code&amp;gt;&amp;amp;lt;time&amp;amp;gt;&amp;lt;/code&amp;gt; element with class name of &amp;lt;code&amp;gt;entry-date&amp;lt;/code&amp;gt; and non-empty &amp;lt;code&amp;gt;datetime&amp;lt;/code&amp;gt; attribute inside an hentry, if there is no &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt; property, use that time element's &amp;lt;code&amp;gt;datetime&amp;lt;/code&amp;gt; attribute value for the &amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt; property. Evidence: default WordPress themes 2011-2014([https://wp-themes.com/twentyeleven/][https://wp-themes.com/twentytwelve/][https://wp-themes.com/twentythirteen/][https://wp-themes.com/twentyfourteen/]).&lt;br /&gt;
* &amp;lt;code&amp;gt;rel=author&amp;lt;/code&amp;gt; - in the absence of &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;, parse as '''&amp;lt;code&amp;gt;u-author&amp;lt;/code&amp;gt;'''. While not a class name nor typical microformats property, rel=author was commonly used to link to an author's URL. Thus parsers should look for rel=author hyperlinks inside an hentry (or even on the same page, preceding the hentry), use the absolute version of it as a value for the '''&amp;lt;code&amp;gt;u-author&amp;lt;/code&amp;gt;''' property if there is no &amp;quot;author&amp;quot; property. (citations to &amp;quot;hentry&amp;quot; examples in the wild that &amp;lt;em&amp;gt;depend&amp;lt;/em&amp;gt; on rel=author needed to accepted this proposal. Note: default WordPress themes twentyeleven, twentytwelve, twentythirteen, twentyfourteen all use rel=author but only inside class=&amp;quot;author vcard&amp;quot;, and thus rel=author can be ignored since authorship is already picked up by existing &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; backcompat parsing.)&lt;br /&gt;
&lt;br /&gt;
=== Compat FAQ ===&lt;br /&gt;
==== What about rel bookmark ====&lt;br /&gt;
Also asked as: ''Why use an h-entry u-url u-uid for permalinks when I have [[rel-bookmark|rel=bookmark]]?''&lt;br /&gt;
&lt;br /&gt;
A: tl;dr: use &amp;lt;code&amp;gt;class=&amp;quot;u-url u-uid&amp;quot;&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;rel=bookmark&amp;lt;/code&amp;gt; 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).&lt;br /&gt;
&lt;br /&gt;
rel=bookmark was the old [[hAtom]] way of marking up permalinks. Since then two factors have contributed to reducing use of rel inside microformats:&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
==== Why rename entry-title entry-summary entry-content ====&lt;br /&gt;
The &amp;lt;code&amp;gt;entry-*&amp;lt;/code&amp;gt; classnames in classic [[hAtom]] were prefixed as such due to concerns about vocabulary overlap with the title (as in job title, completely separate semantic) property in [[hCard]] and the summary property in [[hCalendar]] (see: [[hatom-faq#Could_hAtom_instead_use_title_content_and_summary|hAtom FAQ]]).&lt;br /&gt;
&lt;br /&gt;
Following the [[simplicity]] principle, in microformats2, the aforementioned vagueness of '''title''' is dealt with by removing it. As '''name''' is now used consistently across all vocabularies as the property which “names” the microformat, it makes sense to use it to mark up the name of a post.&lt;br /&gt;
&lt;br /&gt;
Likewise, adding entry- to '''summary''' doesn’t add any useful information, and in practice there have been no problems with blog post summaries overlapping with entry summaries, so it makes sense to simplify to '''summary'''. The same applies to '''entry-content''' simplified to '''content'''.&lt;br /&gt;
&lt;br /&gt;
See also: [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-128 2012-08-30 IRC conversation].&lt;br /&gt;
&lt;br /&gt;
== Related Work ==&lt;br /&gt;
Work that re-uses or builds upon h-entry:&lt;br /&gt;
* [https://mailpile.pagekite.me:8080/p/Open_Message_Format Mailpile Open Message Format] is using h-entry with structured properties, e.g. p-author h-card.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
This work is based on the existing [[hAtom]] microformat, and extensive selfdogfooding in the [http://indiewebcamp.com indie web camp] community.&lt;br /&gt;
&lt;br /&gt;
== change control ==&lt;br /&gt;
Minor editorial changes (e.g. fixing minor typos or punctuation) that do not change and preferably clarify the structure and existing intended meaning may be done by anyone without filing issues, requiring only a sufficient &amp;quot;Summary&amp;quot; description field entry for the edit. More than minor but still purely editorial changes may be made by an editor. Anyone may question such editorial changes by undoing corresponding edits without filing an issue. Any further reversion or iteration on such an editorial change must be done by filing an issue.&lt;br /&gt;
&lt;br /&gt;
For the stable features of this document, substantive issue filing, resolution, and edits may be done by filing an [[h-entry-issues|issue]] and discussing them on the issue and on #microformats [[IRC]] with a link to the issue.&lt;br /&gt;
&lt;br /&gt;
Because this is primarily a vocabulary specification, very few issues beyond the list of vocabulary have been filed or required any lengthy discussion. If such a non-trivial issue arises in the future, use the [[microformats2-parsing#change_control|microformats2-parsing change control process]] to resolve them.&lt;br /&gt;
&lt;br /&gt;
In general, non-vocabulary related features or requirements should be avoided in this specification, e.g. changes to microformats2 syntax must be proposed as [[microformats2-parsing]] changes using the [[microformats2-parsing#change_control|microformats2-parsing change control process]].&lt;br /&gt;
&lt;br /&gt;
Beyond that, the following requirements must be met for adding or moving features (e.g. properties and values) to proposed, draft, or stable. File an issue to collect necessary citations for the requirements for each property being proposed or upgraded, explain how citations fulfill the requirements for the phase(s), get consensus on both (resolve any implementer objections) in the issue.&lt;br /&gt;
&lt;br /&gt;
;Proposed&lt;br /&gt;
:[[#Proposed_Additions|Proposed features]] must provide documentation of what specific real world use-cases they are solving, preferably with a link to a step-by-step user scenario, e.g. demonstratable using existing non-standard / single-site / single-implementation tools.&lt;br /&gt;
;Draft&lt;br /&gt;
:[[#Draft_Properties|Draft properties]] must in addition be published and consumed in the wild on the public web, demonstrate solving the use case for which they were proposed, and should provide citations of real world public web sites publishing and (other sites) consuming them, interoperably.&lt;br /&gt;
;Stable&lt;br /&gt;
:Stable features (e.g. [[#Core_Properties|Core Properties]]) must in addition be published and consumed in the wild on multiple sites by multiple implementations (3+ different sites and implementations for publishing and  consuming). When a draft property reaches a critical mass of deployment by numerous sites and implementations (far beyond 3+), due to network effects and backward compatibility considerations it effectively becomes stable, since it becomes increasingly difficult to change it in any way and have so many sites and implementations also change.&lt;br /&gt;
&lt;br /&gt;
For creating an entirely new vocabulary, and more details about how to research existing values, properties, document examples in the wild, etc., see the microformats [[process]].&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[h-feed]]&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[microformats2-parsing]]&lt;br /&gt;
* [[h-geo]]&lt;br /&gt;
* [[hCard]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-cite&amp;diff=70637</id>
		<title>h-cite</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-cite&amp;diff=70637"/>
		<updated>2023-07-26T21:14:45Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-cite&amp;lt;/dfn&amp;gt; is a simple, open format for publishing citations and references to online and other publications. h-cite is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML/HTML5.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
:{{cc0-owfa-license}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple minimal abstract web citation example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-cite&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;YYYY-MM-DD&amp;lt;/time&amp;gt; &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-author h-card&amp;quot;&amp;gt;AUTHOR&amp;lt;/span&amp;gt;: &lt;br /&gt;
  &amp;lt;cite&amp;gt;&amp;lt;a class=&amp;quot;u-url p-name&amp;quot; href=&amp;quot;URL&amp;quot;&amp;gt;TITLE&amp;lt;/a&amp;gt;&amp;lt;/cite&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-cite&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-cite.&lt;br /&gt;
&lt;br /&gt;
The classes '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''', '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''', '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''', and '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' define  ''properties'' of the h-cite. &lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-card&amp;lt;/code&amp;gt;''' on the same &amp;lt;code&amp;gt;&amp;amp;lt;span&amp;amp;gt;&amp;lt;/code&amp;gt; as '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' indicates the presence of a nested [[h-card]] microformat as the '''author''' of the h-cite.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-cite properties (inside class &amp;lt;code&amp;gt;'''h-cite'''&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - name of the work&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - date (and optionally time) of publication&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - author of publication, with optional nested [[h-card]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - a URL to access the cited work&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;''' - a URL/URI that uniquely/canonically identifies the cited work, canonical permalink.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-publication&amp;lt;/code&amp;gt;''' - for citing articles in publications with more than one author, or perhaps when the author has a specific publication vehicle for the cited work. Also works when the publication is known, but the authorship information is either unknown, ambiguous, unclear, or collaboratively complex enough to be unable to list explicit author(s), e.g. like with many wiki pages.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-accessed&amp;lt;/code&amp;gt;''' - date the cited work was accessed for whatever reason it is being cited. Useful in case online work changes and it's possible to access the dt-accessed datetimestamped version in particular, e.g. via the Internet Archive.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-content&amp;lt;/code&amp;gt;''' for when the citation includes the content itself, like when citing short text notes (e.g. tweets).&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
'''h-cite''' is a microformats.org draft specification. Public discussion on h-cite takes place on [[h-cite-feedback]] and the #microformats [[irc]] channel on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
(stub, to be expanded)&lt;br /&gt;
&lt;br /&gt;
All web citation properties are derived from those implied in [[citation-formats#styles|existing citation styling guides]] for citing permalinks to articles and short text notes online.&lt;br /&gt;
&lt;br /&gt;
Date-time properties (dt-published, dt-accessed) may optionally include time information in addition to the date if relevant to the citation (e.g. when citing short text notes (tweets) of which there may be several in a single day).&lt;br /&gt;
&lt;br /&gt;
To be added:&lt;br /&gt;
* for each property, what equivalent TCMOS, APA, MLA terms/vocabulary is being expressed/captured as researched in the [[citation-formats#styles|citation formats styles]] section.&lt;br /&gt;
* transforms from the web citations proposal properties into each of those citation styles.&lt;br /&gt;
** for citations of blog posts / articles &lt;br /&gt;
** for citations of text notes / tweets&lt;br /&gt;
** see examples in wild below for markup samples to style in each of the TCMOS/APA/MLA styles for blog/note citations.&lt;br /&gt;
&lt;br /&gt;
== Offline Citations ==&lt;br /&gt;
The web citation proposal can be used for simple web-to-off-web citation use cases. As suggested by Ed Summers, dropping the hyperlink to the cited web article provides a simple off-web citation, e.g. a citation of a physical book:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-cite&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;YYYY-MM-DD&amp;lt;/time&amp;gt; &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-author h-card&amp;quot;&amp;gt;AUTHOR&amp;lt;/span&amp;gt;: &lt;br /&gt;
  &amp;lt;cite class=&amp;quot;p-name&amp;quot;&amp;gt;TITLE&amp;lt;/cite&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: physical books typically only provide the YYYY (year) published, not the precise date.&lt;br /&gt;
&lt;br /&gt;
Next steps: &lt;br /&gt;
* Try such markup with actual content being published on the web (perhaps a bibliography, list of papers in a resume, etc.)&lt;br /&gt;
* See how it works/feels there&lt;br /&gt;
* Determine what seems to be missing. &lt;br /&gt;
* See if the &amp;quot;p-publisher&amp;quot; property helps in some web-to-off-web citation use cases.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Real world in the wild examples:&lt;br /&gt;
* ... add uses of h-cite you see in the wild here.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;cite class=&amp;quot;h-cite&amp;quot;&amp;gt;[http://christopheducamp.com/blog/test-indieweb-parvenir-a-posser-un-article-vers-twitter/ Test #IndieWeb : Parvenir à « POSSEr » un article vers Twitter]&amp;lt;/cite&amp;gt; ([http://web.archive.org/web/20130623202346/http://christopheducamp.com/blog/test-indieweb-parvenir-a-posser-un-article-vers-twitter/ archived]) has an h-cite of a short note:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  &amp;lt;cite class=&amp;quot;h-cite&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url p-name&amp;quot; href=&amp;quot;http://tantek.com/2013/104/t2/urls-readable-speakable-listenable-retypable&amp;quot;&amp;gt; &lt;br /&gt;
      URLs should be readable, speakable, listenable, and unambiguously &lt;br /&gt;
retypable, e.g. from print: tantek.com/w/ShortURLPrintExample #UX &lt;br /&gt;
    &amp;lt;/a&amp;gt; &lt;br /&gt;
   (&amp;lt;abbr class=&amp;quot;p-author h-card&amp;quot; title=&amp;quot;Tantek Çelik&amp;quot;&amp;gt;Çelik&amp;lt;/abbr&amp;gt; &lt;br /&gt;
    &amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;2013-04-14&amp;lt;/time&amp;gt;)&lt;br /&gt;
  &amp;lt;/cite&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Mastodon uses h-cite by default to show threads and replies to posts [https://github.com/tootsuite/mastodon/pull/1063 added in 2017]&lt;br /&gt;
&lt;br /&gt;
See also examples documented here:&lt;br /&gt;
* https://indieweb.org/h-cite#Indieweb_Examples&lt;br /&gt;
&lt;br /&gt;
Real but not quite wild (used by the specification author)&lt;br /&gt;
* Every blog post on http://tantek.com has a text field for copying h-cite markup for that blog post.&lt;br /&gt;
* &amp;lt;cite class=&amp;quot;h-cite&amp;quot;&amp;gt;[http://tantek.com/2012/353/b1/why-html-classes-css-class-selectors Why you should say HTML classes, CSS class selectors, or CSS pseudo-classes, but not CSS classes]&amp;lt;/cite&amp;gt; has a couple of interesting uses of h-cite:&lt;br /&gt;
** properties used: p-name, u-url, p-author, p-publication, dt-published, dt-accessed (basically all proposed properties except p-content!)&lt;br /&gt;
** additional experimental property: p-x-translation - which refers to a nested h-cite with its own implied p-name and implied u-url.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
This work is based on how existing [[citation-formats#styles|citation format ''styles'']] (APA, MLA, TCMOS) represent references to articles on the web, and is designed to match the implied schema of those styles. The web citations proposal defines how to markup such reference representation styles in order to satisfy the use-cases above.&lt;br /&gt;
&lt;br /&gt;
=== Goal ===&lt;br /&gt;
A primary goal of the web citation effort is to both start small, and always &amp;quot;make small possible&amp;quot;, that is, no matter how it is extended, continue permitting very small meaningful citations with perhaps only 2-3 properties (e.g. date published, author, name of work).&lt;br /&gt;
&lt;br /&gt;
=== Previous Proposals ===&lt;br /&gt;
The biggest problem with all previous proposals is that they tried to do too much. They didn't design a citation ''micro''format that could be used as a building block, but rather, erred on the side of attempting to describe the myriad types of references to dead-tree resources. They were so over-designed that their authors didn't even dogfood them on their own sites. -- [[User:Tantek|Tantek]] 00:56, 7 August 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== Why ===&lt;br /&gt;
''Why markup web citations? What problem does it solve?''&lt;br /&gt;
&lt;br /&gt;
A: In the simplest form, marking up a web citation URL, name, date published, author etc. allow for processing of web citations into whatever &amp;quot;style&amp;quot; or &amp;quot;format&amp;quot; (MLA vs APA etc.) a user wishes to publish them themselves.&lt;br /&gt;
&lt;br /&gt;
=== Why not just a href ===&lt;br /&gt;
''Doesn't &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; solve the problem of marking up citations in an article on the web that refers to other articles on the web?''&lt;br /&gt;
&lt;br /&gt;
A: No, &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; is necessary but insufficient for marking up &amp;lt;em&amp;gt;citations&amp;lt;/em&amp;gt; to articles on the web. &lt;br /&gt;
&lt;br /&gt;
* '''Insufficient semantic.''' &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; is sufficient only for providing a hyperlink (which may or may not be a citation, e.g. it may be a &amp;quot;see also&amp;quot; link rather than link to a source being cited for particular assertion or fact).&lt;br /&gt;
* '''A href only marks up article link and name''' An &amp;lt;code&amp;gt;&amp;amp;lt;a href&amp;amp;gt;&amp;lt;/code&amp;gt; can only represent the &amp;quot;url&amp;quot; and &amp;quot;name&amp;quot; of a citation. Where as [[citation-formats#styles|published web citations]] typically also include:&lt;br /&gt;
** article author name (sometimes author photo and URL)&lt;br /&gt;
** article publication date&lt;br /&gt;
** article publication name&lt;br /&gt;
** article access date (sometimes, e.g. Wikipedia citations)&lt;br /&gt;
&lt;br /&gt;
== Design Principles ==&lt;br /&gt;
Principles driving this proposal:&lt;br /&gt;
* '''solve a [[specific]] problem'''. In this case '''web citations''' seeks to solve a ''more'' specific problem than previous proposals, that of citations from the web to the web (more constrained than any publication to any publication).&lt;br /&gt;
* [[solve simpler problems first]]. Existing web-to-web citations contain very little information compared to generalized academic citations, thus '''web citations''' is greatly simplified compared to previous proposals by only starting with a handful of properties.&lt;br /&gt;
* [[humans first]] - '''web citations''' focuses on the human readability and writability aspects of citations in articles first and foremost, and only secondarily considers the machine readability/reusability of the data contained therein.&lt;br /&gt;
* [[reuse]] building blocks - by re-using the better designed aspects of [[citation-formats#styles|existing citation conventions]] for web resources, '''web citations''' builds on top of previous work to make citations human readable/writable, as well as what implied properties are commonly expressed by such previous work.&lt;br /&gt;
=== Focus ===&lt;br /&gt;
The &amp;lt;dfn&amp;gt;web citations&amp;lt;/dfn&amp;gt; proposal uses a smaller, [[simpler]] set of only ''eight'' properties to solve the [[specific]] problem of how to markup citations in an article &amp;lt;em&amp;gt;on the web&amp;lt;/em&amp;gt; that refers to other articles &amp;lt;em&amp;gt;on the web&amp;lt;/em&amp;gt;. Offline to offline, and online to offline references were specifically not explicitly addressed in initial design.&lt;br /&gt;
&lt;br /&gt;
== First Proposal ==&lt;br /&gt;
This design was first publicly proposed as the result of an interactive web citation design discussion during IndieWebCamp2012:&lt;br /&gt;
* &amp;lt;span class=&amp;quot;h-cite&amp;quot;&amp;gt;&amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; &amp;lt;span class=&amp;quot;p-publisher&amp;quot;&amp;gt;IndieWebCamp2012&amp;lt;/span&amp;gt;: &amp;lt;cite class=&amp;quot;p-name&amp;quot;&amp;gt;[http://indiewebcamp.com/2012/Academic_Citations_Web Academic Citations for the Web]&amp;lt;/cite&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-adr&amp;diff=70636</id>
		<title>h-adr</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-adr&amp;diff=70636"/>
		<updated>2023-07-26T21:13:15Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-adr&amp;lt;/dfn&amp;gt; is a simple, open format for publishing structured locations such as addresses, physical and/or postal. h-adr is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML.&lt;br /&gt;
&lt;br /&gt;
h-adr is the [[microformats-2]] update to [[adr]]. It is most commonly used as part of an [[h-card]] or [[h-event]].&lt;br /&gt;
&lt;br /&gt;
For named addresses, e.g. people or venues, use [[h-card]].&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;span id=&amp;quot;Status&amp;quot;&amp;gt;Status&amp;lt;/span&amp;gt;&lt;br /&gt;
:This is a '''Draft Specification'''&lt;br /&gt;
;Participate&lt;br /&gt;
:[[IRC]]: [irc://irc.libera.chat/microformats #microformats on Libera]&lt;br /&gt;
;Editor&lt;br /&gt;
:&amp;lt;span class=&amp;quot;h-card vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;p-name fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;p-role role&amp;quot;&amp;gt;Editor&amp;lt;/span&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
;License&lt;br /&gt;
:{{cc0-owfa-license}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Here is a simple postal address example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-adr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-street-address&amp;quot;&amp;gt;17 Austerstræti&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-locality&amp;quot;&amp;gt;Reykjavík&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-country-name&amp;quot;&amp;gt;Iceland&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-postal-code&amp;quot;&amp;gt;107&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed JSON:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;items&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;h-adr&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;street-address&amp;quot;: [&lt;br /&gt;
          &amp;quot;17 Austerstræti&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;locality&amp;quot;: [&lt;br /&gt;
          &amp;quot;Reykjavík&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;country-name&amp;quot;: [&lt;br /&gt;
          &amp;quot;Iceland&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;postal-code&amp;quot;: [&lt;br /&gt;
          &amp;quot;107&amp;quot;&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;name&amp;quot;: [&lt;br /&gt;
          &amp;quot;17 Austerstræti Reykjavík Iceland 107&amp;quot;&lt;br /&gt;
        ]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The implicit &amp;quot;name&amp;quot; property that is generated from parsing an h-adr is there for consuming applications to have a simple flattened string representation of an h-adr.&lt;br /&gt;
&lt;br /&gt;
For an explicitly named address (such as a mailing address to a specific person), use [[h-card]].&lt;br /&gt;
&lt;br /&gt;
=== Get started ===&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-adr&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-adr.&lt;br /&gt;
&lt;br /&gt;
'''p-street-address''', '''p-locality''', '''p-country-name''', '''p-postal-code''' and all the other h-adr property class names listed below define properties of the h-adr.&lt;br /&gt;
&lt;br /&gt;
See [[microformats-2-parsing]] to learn more about property class names.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
h-adr properties, inside an element with class '''h-adr''':&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-street-address&amp;lt;/code&amp;gt;''' - house/apartment number, floor, street name&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-extended-address&amp;lt;/code&amp;gt;''' - additional street details&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-post-office-box&amp;lt;/code&amp;gt;''' - post office mailbox&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-locality&amp;lt;/code&amp;gt;''' - city/town/village&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-region&amp;lt;/code&amp;gt;''' - state/county/province&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-postal-code&amp;lt;/code&amp;gt;''' - postal code, e.g. ZIP in the US&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-country-name&amp;lt;/code&amp;gt;''' - should be full name of country, country code ok&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-label&amp;lt;/code&amp;gt;''' - a mailing label, plain text, perhaps with preformatting&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-geo&amp;lt;/code&amp;gt;''' (or u-geo with a RFC 5870 geo: URL), optionally embedded [[h-geo]]&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-latitude&amp;lt;/code&amp;gt;''' - decimal latitude&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-longitude&amp;lt;/code&amp;gt;''' - decimal longitude&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-altitude&amp;lt;/code&amp;gt;''' - decimal altitude - new in vCard4 (RFC6350)&lt;br /&gt;
&lt;br /&gt;
All properties are optional.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - there is no &amp;quot;p-name&amp;quot; property in h-adr. If your address has an explicit name, it's likely a venue, and you should use [[h-card]] instead.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
'''h-adr''' is a microformats.org draft specification. Public discussion on h-adr takes place on [[h-adr-feedback]] and the #microformats [[irc]] channel on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
h-adr is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-adrs up with classic [[adr]] classnames.&lt;br /&gt;
&lt;br /&gt;
== Property Details ==&lt;br /&gt;
(stub, add any property explanations here)&lt;br /&gt;
&lt;br /&gt;
== Examples in the Wild ==&lt;br /&gt;
* … add any h-adr examples you find in the wild&lt;br /&gt;
&lt;br /&gt;
== Validating ==&lt;br /&gt;
{{h-spec-section-validating}}&lt;br /&gt;
&lt;br /&gt;
== Backward Compatibility ==&lt;br /&gt;
=== Publisher Compatibility ===&lt;br /&gt;
For backward compatibility, you may wish to use classic [[adr]] classnames in addition to the more future-proof h-adr properties, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;h-adr adr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-street-address street-address&amp;quot;&amp;gt;123 Main St.&amp;lt;/span&amp;gt;, &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-locality locality&amp;quot;&amp;gt;Pleasantville&amp;lt;/span&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;adr&amp;lt;/code&amp;gt;''' is a ''backward compatible root class name'' that indicates the presence of an [[adr]].&lt;br /&gt;
&lt;br /&gt;
'''street-address''', '''locality''', and all the other backward compatibility adr property class names are listed below.&lt;br /&gt;
&lt;br /&gt;
=== Parser Compatibility ===&lt;br /&gt;
Microformats parsers should detect classic properties only if a classic root class name is found and parse them as microformats2 properties. &lt;br /&gt;
&lt;br /&gt;
If an &amp;quot;h-adr&amp;quot; is found, don't look for an &amp;quot;adr&amp;quot; on the same element.&lt;br /&gt;
&lt;br /&gt;
Compatibility root class name: adr&lt;br /&gt;
&lt;br /&gt;
Properties: (parsed as p- plain text unless otherwise specified)&lt;br /&gt;
&lt;br /&gt;
* post-office-box&lt;br /&gt;
* extended-address&lt;br /&gt;
* street-address&lt;br /&gt;
* locality&lt;br /&gt;
* region&lt;br /&gt;
* postal-code&lt;br /&gt;
* country-name&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
=== What about country codes ===&lt;br /&gt;
Q: When marking up an address, can p-country-name be used to markup two letter country codes like &amp;quot;UK&amp;quot;? Or others like 3 letter Olympic country codes?&lt;br /&gt;
&lt;br /&gt;
A: In short yes. You can do:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;p-country-name&amp;quot;&amp;gt;UK&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
However it's better if you mark it up with the &amp;lt;code&amp;gt;abbr&amp;lt;/code&amp;gt; element and provide the full name as well, e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;p-country-name&amp;quot; title=&amp;quot;United Kingdom&amp;quot;&amp;gt;UK&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consuming applications may interpret any 2-3 character country-name per the table of 2-3 character [http://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements country codes in ISO3166].&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
h-adr is based on the existing [[adr]] specification, which was extracted from [[hCard]] in order to allow it to be used for applications other than contact information.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[microformats2]]&lt;br /&gt;
* [[h-geo]] can be embedded in h-adr&lt;br /&gt;
* [[h-card]] and [[h-event]] often contain h-adr&lt;br /&gt;
* [[vcard]] (most recently vCard4 RFC6350) vocabulary is re-used by h-adr.&lt;br /&gt;
* [[address-formats]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=citation-brainstorming&amp;diff=70635</id>
		<title>citation-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=citation-brainstorming&amp;diff=70635"/>
		<updated>2023-07-26T21:11:20Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE: Citation Brainstorming }}&lt;br /&gt;
&lt;br /&gt;
Part of the overall effort to develop a [[citation]] microformat.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
To focus the discussion, please add use cases below that will help show what problems the citation microformat will be solving.&lt;br /&gt;
&lt;br /&gt;
Use cases for both publishing and consuming citation information can help to focus citation brainstorming on efforts that provide real world utility to users.&lt;br /&gt;
&lt;br /&gt;
For now, please add any uses cases you think of, however common or obscure (feel free to note opinions as to expected/known frequency of use of such use cases).&lt;br /&gt;
&lt;br /&gt;
=== improve web citations ===&lt;br /&gt;
Articles on the web often cite other online articles with permalinks (e.g. &amp;lt;span id=&amp;quot;Blogs_quoting_other_resources.2C_including_blogs&amp;quot;&amp;gt;blogs quoting other resources, including blogs&amp;lt;/span&amp;gt;). Such web citations could be improved both in content and interaction in a number of useful ways:&lt;br /&gt;
* '''richer citations.''' Existing web citations typically include only permalink URL and article title in a hyperlink. An explicit format (both in microformat and style) for web citations could encourage the use of richer citations with information like author and date(time) of publication. Author information is useful because it provides an immediate inline proxy for reputation, and date of publication is useful because it sets a context for the information backed by the citation.&lt;br /&gt;
* '''richer citation interfaces.''' Web articles sometimes provide an explicit user interface to copy/paste a permalink for reference purposes, or a hyperlink embed code for linking to the article from another web article. An explicit markup structure/format could encourage such interfaces to provide a richer citation structure (e.g. including author, date of publication) to copy/paste, with little to no change in overall UI. This is useful in that it would help propagate richer citations themselves, which have the advantages mentioned above.&lt;br /&gt;
&lt;br /&gt;
Additional useful rich citation enhancements:&lt;br /&gt;
* '''access date.''' Rich citations could include the access date when an author (blogger) made a citation, because resources on the other side of those links can change without notice. &lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== I read this ===&lt;br /&gt;
A reader wants to collect a set of things they've read (e.g. on the web), perhaps for the purposes of cataloging them, adding notes, and using the information to generate later citations, potentially in other forms, such as BibTeX or Docbook, for inclusion in a publication of their own.&lt;br /&gt;
&lt;br /&gt;
If web articles (e.g. blog posts) contained discoverable descriptions of self-citations (e.g. permalinks plus authorship), browsers/aggregators could both automatically collect these, perhaps as part of an enhanced browser history functionality, or allow explicit collection, e.g. bookmarking with additional structure.&lt;br /&gt;
&lt;br /&gt;
Notes: In this case, it isn't important to the user what style the citation takes as displayed on the page where they find it. What *is* important is that it contains enough information to allow generation of the format they will ultimately re-publish it in. This implies that it may be worthwhile to err a little on the side of verbosity, but at most enough to provide typical TCMOS/APA/MLA citations.&lt;br /&gt;
&lt;br /&gt;
=== collect further reading ===&lt;br /&gt;
Was part of &amp;lt;span id=&amp;quot;Acquiring_reference_information_from_the_web&amp;quot;&amp;gt;Acquiring reference information from the web&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A reader finds a list of citations (e.g. a paper's bibliography, an author's papers page, results of a search for academic papers), and wants to add them to a queue of things they'd like to read, perhaps as part of further research on whatever subject/person they were reading/researching.&lt;br /&gt;
&lt;br /&gt;
Marking up the list of citations with a microformat would enable to browsers/aggregators to present an explicit list of structured citations with a user interface for one-click addition to a read it later list (or a local reference database).&lt;br /&gt;
&lt;br /&gt;
Links to downloadable full representations of the cited work (e.g. link to the PDF of a journal article, or to a music file) would help the reader find cited works, and perhaps even have their browser/aggregator prefetch/cache/download them.&lt;br /&gt;
&lt;br /&gt;
=== Subscribing to reading lists, periodicals, etc ===&lt;br /&gt;
I would like to be able to leverage my news aggregator with hAtom to subscribe to a remote source for citation information, for example:&lt;br /&gt;
&lt;br /&gt;
* a reading list for a seminar&lt;br /&gt;
* The publication list for a conference (e.g., subscribe to SIGGRAPH and see the updated conference proceedings every year)&lt;br /&gt;
* the issues of a journal&lt;br /&gt;
* a particular research group or researcher's publications&lt;br /&gt;
* Not just research: a popular author's publications (e.g., [http://www.gladwell.com/archive.html Malcolm Gladwell's Archive])&lt;br /&gt;
&lt;br /&gt;
=== Aggregating reading lists and reviews ===&lt;br /&gt;
A citation microformat-specific aggregator could provide a decentralized version of [http://citeulike.org/ CiteULike]. Libraries, authors, research groups, and publishers could mark up their collections, while other people on weblogs or review sites could add tags and reviews.&lt;br /&gt;
&lt;br /&gt;
At least, having a well-adopted microformat would make writing tools like CiteULike much better, since it relies in some cases on screen-scraping publisher web-sites.&lt;br /&gt;
&lt;br /&gt;
=== Cut &amp;amp; Paste from web pages ===&lt;br /&gt;
Capturing/copying HTML from web pages for use in other applications (especially when those apps present HTML as output), such as pasting into Word, or a specialized application like [http://www.google.com/notebook Google Notebook], [http://onfolio.com Onfolio] or [http://www.kaboodle.com Kaboodle].  When such captures are made, it makes sense to keep track of the full citation data, including the date it was accessed, which may or may not be the date it was published. &lt;br /&gt;
&lt;br /&gt;
===Finding in Library===&lt;br /&gt;
Find a copy of the cited work in a nearby library (as with [http://ocoins.info/ OpenCOinS]).&lt;br /&gt;
&lt;br /&gt;
===Buy a copy===&lt;br /&gt;
Find the cited work on, for example, Amazon or [http://www.abebooks.com/ ABE]; or subscribe to a journal via its own website.&lt;br /&gt;
&lt;br /&gt;
===Find reviews===&lt;br /&gt;
Find third-party reviews of the cited work.&lt;br /&gt;
&lt;br /&gt;
===Give citation data for the page being visited===&lt;br /&gt;
Adding a class of, say, &amp;quot;self&amp;quot; to an attribute of the proposed strawman would allow users (or user agents) to extract the data required to cite the page being visited, when referring to it elsewhere. There would be the added advantage of allowing the citation to be ignored by any parser which might be building a &amp;quot;tree&amp;quot; of citations, and preventing the setting up of an infinite loop. &lt;br /&gt;
&lt;br /&gt;
For evidence of published &amp;quot;self citation&amp;quot; data (albeit on a secondary page) see the &amp;quot;cite this article&amp;quot; link on any Wikipedia entry, e.g. [http://en.wikipedia.org/w/index.php?title=Special:Cite&amp;amp;page=West_Midland_Bird_Club&amp;amp;id=115894372] from [http://en.wikipedia.org/wiki/West_Midland_Bird_Club].&lt;br /&gt;
&lt;br /&gt;
See also [http://en.wikipedia.org/wiki/Wikipedia_talk:Citing_Wikipedia#Citation_data_should_be_on_the_page_concerned Proposal to include on-page citation data in Wikipedia]&lt;br /&gt;
&lt;br /&gt;
=== Cite a journal on Wikipedia ===&lt;br /&gt;
* (from a mailing list): &lt;br /&gt;
:&amp;lt;blockquote&amp;gt;if you want to cite a [biomedical journal] journal article on Wikipedia [...] you can export a correctly-formatted citation for Wikipedia from HubMed using unAPI... http://hublog.hubmed.org/archives/001408.html&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[http://www.zotero.org/ Zotero], a Firefox extension to help collect, manage, and cite research sources. &lt;br /&gt;
&lt;br /&gt;
== principles ==&lt;br /&gt;
Principles help guide and compare various different brainstorming proposals.&lt;br /&gt;
&lt;br /&gt;
In the first three years of development the citation microformat effort generated a number of brainstorm proposals without clear consensus or adoption of any of them in particular. Thus any new (2012+) proposals must be written with references to particular principles for each design decision, justifying why/how the new proposal is an improvement upon previous proposals.&lt;br /&gt;
&lt;br /&gt;
Principles to use:&lt;br /&gt;
* microformats design [[principles]]&lt;br /&gt;
* Semantic HTML Design Principles&lt;br /&gt;
* use as precise as HTML semantics as are available&lt;br /&gt;
&lt;br /&gt;
=== Semantic HTML Design Principles ===&lt;br /&gt;
{{semantic-html-design-principles}}&lt;br /&gt;
&lt;br /&gt;
Brainstorm proposals should take into account the Semantic HTML Design Principles.&lt;br /&gt;
&lt;br /&gt;
=== semantic elements to consider ===&lt;br /&gt;
One of the guiding principles of Microformats is to encourage the use of the most precisely semantically rich element to describe each node (Point 2 of Semantic HTML Design Principles: Use the most accurately precise semantic HTML building block for each object etc). Since we are dealing with HTML and citations, several elements are candidates to be used to enrich the semantic meaning. [http://www.w3.org/TR/REC-html40/struct/text.html CITE, BLOCKQUOTE, Q, A], (are there more?)&lt;br /&gt;
&lt;br /&gt;
== brainstorm proposals ==&lt;br /&gt;
&lt;br /&gt;
=== web citations ===&lt;br /&gt;
{{main|h-cite}}&lt;br /&gt;
&lt;br /&gt;
This brainstorm has now been moved to a draft microformat:&lt;br /&gt;
* [[h-cite]]&lt;br /&gt;
&lt;br /&gt;
The remainder of this brainstorm proposal is left here for historical purposes:&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;dfn&amp;gt;web citations&amp;lt;/dfn&amp;gt; proposal uses a smaller, [[simpler]] set of only ''eight'' properties to solve the [[specific]] problem of how to markup citations in an article &amp;lt;em&amp;gt;on the web&amp;lt;/em&amp;gt; that refers to other articles &amp;lt;em&amp;gt;on the web&amp;lt;/em&amp;gt;. Offline to offline, and online to offline references are specifically not addressed.&lt;br /&gt;
&lt;br /&gt;
==== web citations background ====&lt;br /&gt;
This work is based on how existing [[citation-formats#styles|citation format ''styles'']] (APA, MLA, TCMOS) represent references to articles on the web, and is designed to match the implied schema of those styles. The web citations proposal defines how to markup such reference representation styles in order to satisfy the use-cases above.&lt;br /&gt;
&lt;br /&gt;
==== web citation illustrative example ====&lt;br /&gt;
Here is a simple minimal abstract web citation example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-cite&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;YYYY-MM-DD&amp;lt;/time&amp;gt; &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-author h-card&amp;quot;&amp;gt;AUTHOR&amp;lt;/span&amp;gt;: &lt;br /&gt;
  &amp;lt;cite&amp;gt;&amp;lt;a class=&amp;quot;u-url p-name&amp;quot; href=&amp;quot;URL&amp;quot;&amp;gt;TITLE&amp;lt;/a&amp;gt;&amp;lt;/cite&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== web citation properties ====&lt;br /&gt;
root classname: '''&amp;lt;code&amp;gt;h-cite&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
In rough order of presentation and relevance/frequency:&lt;br /&gt;
&lt;br /&gt;
properties:&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-published&amp;lt;/code&amp;gt;''' - reused from [[uf2]] h-entry&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;''' - same, with optional substructured h-card&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-name&amp;lt;/code&amp;gt;''' - common property instead of entry-title&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-url&amp;lt;/code&amp;gt;''' - a URL to access the cited work&lt;br /&gt;
* '''&amp;lt;code&amp;gt;u-uid&amp;lt;/code&amp;gt;''' - a URL/URI that uniquely/canonically identifies the cited work, canonical permalink.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-publication&amp;lt;/code&amp;gt;''' - for citing articles in publications with more than one author, or perhaps when the author has a specific publication vehicle for the cited work. Also works when the publication is known, but the authorship information is either unknown, ambiguous, unclear, or collaboratively complex enough to be unable to list explicit author(s), e.g. like with many wiki pages.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;dt-accessed&amp;lt;/code&amp;gt;''' - date the cited work was accessed for whatever reason it is being cited. Useful in case online work changes and it's possible to access the dt-accessed datetimestamped version in particular, e.g. via the Internet Archive.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;p-content&amp;lt;/code&amp;gt;''' for when the citation includes the content itself, like when citing short text notes (e.g. tweets).&lt;br /&gt;
&lt;br /&gt;
==== web citations vs previous proposals ====&lt;br /&gt;
I think the biggest problem with all previous proposals is that they tried to do too much. They didn't design a citation ''micro''format that could be used as a building block, but rather, erred on the side of attempting to describe the myriad types of references to dead-tree resources. They were so over-designed that their authors didn't even dogfood them on their own sites. -- [[User:Tantek|Tantek]] 00:56, 7 August 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
A primary goal of the web citation effort is to both start small, and always &amp;quot;make small possible&amp;quot;, that is, no matter how it is extended, continue permitting very small meaningful citations with perhaps only 2-3 properties (e.g. date published, author, name of work).&lt;br /&gt;
&lt;br /&gt;
==== web citations design principles ====&lt;br /&gt;
Principles driving this proposal:&lt;br /&gt;
* '''solve a [[specific]] problem'''. In this case '''web citations''' seeks to solve a ''more'' specific problem than previous proposals, that of citations from the web to the web (more constrained than any publication to any publication).&lt;br /&gt;
* [[solve simpler problems first]]. Existing web-to-web citations contain very little information compared to generalized academic citations, thus '''web citations''' is greatly simplified compared to previous proposals by only starting with a handful of properties.&lt;br /&gt;
* [[humans first]] - '''web citations''' focuses on the human readability and writability aspects of citations in articles first and foremost, and only secondarily considers the machine readability/reusability of the data contained therein.&lt;br /&gt;
* [[reuse]] building blocks - by re-using the better designed aspects of [[citation-formats#styles|existing citation conventions]] for web resources, '''web citations''' builds on top of previous work to make citations human readable/writable, as well as what implied properties are commonly expressed by such previous work.&lt;br /&gt;
&lt;br /&gt;
==== web citation property details ====&lt;br /&gt;
(stub)&lt;br /&gt;
&lt;br /&gt;
All web citation properties are derived from the implied schema in [[citation-formats#styles|existing citation styling guides]] for citing permalinks to articles and short text notes online.&lt;br /&gt;
&lt;br /&gt;
Date-time properties (dt-published, dt-accessed) may optionally include time information in addition to the date if relevant to the citation (e.g. when citing short text notes (tweets) of which there may be several in a single day).&lt;br /&gt;
&lt;br /&gt;
To be added:&lt;br /&gt;
* for each property, what equivalent TCMOS, APA, MLA terms/vocabulary is being expressed/captured as researched in the [[citation-formats#styles|citation formats styles]] section.&lt;br /&gt;
* transforms from the web citations proposal properties into each of those citation styles.&lt;br /&gt;
** for citations of blog posts / articles &lt;br /&gt;
** for citations of text notes / tweets&lt;br /&gt;
** see examples in wild below for markup samples to style in each of the TCMOS/APA/MLA styles for blog/note citations.&lt;br /&gt;
&lt;br /&gt;
==== web citation additional uses ====&lt;br /&gt;
The web citation proposal could be used for simple web-to-off-web citation use cases. As suggested by Ed Summers, dropping the hyperlink to the cited web article provides a simple off-web citation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-cite&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;YYYY-MM-DD&amp;lt;/time&amp;gt; &lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-author h-card&amp;quot;&amp;gt;AUTHOR&amp;lt;/span&amp;gt;: &lt;br /&gt;
  &amp;lt;cite class=&amp;quot;p-name&amp;quot;&amp;gt;TITLE&amp;lt;/cite&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next steps: &lt;br /&gt;
* Try such markup with actual content being published on the web (perhaps a bibliography, list of papers in a resume, etc.)&lt;br /&gt;
* See how it works/feels there&lt;br /&gt;
* Determine what seems to be missing. &lt;br /&gt;
* See if the &amp;quot;p-publisher&amp;quot; property helps in some web-to-off-web citation use cases.&lt;br /&gt;
&lt;br /&gt;
==== web citation examples in the wild ====&lt;br /&gt;
Real world in the wild examples:&lt;br /&gt;
* ... add uses of h-cite you see in the wild here.&lt;br /&gt;
&lt;br /&gt;
Real but not quite wild (use by the brainstorm author)&lt;br /&gt;
* Every blog post on http://tantek.com has a text field for copying h-cite markup for that blog post.&lt;br /&gt;
* &amp;lt;cite class=&amp;quot;h-cite&amp;quot;&amp;gt;[http://tantek.com/2012/353/b1/why-html-classes-css-class-selectors Why you should say HTML classes, CSS class selectors, or CSS pseudo-classes, but not CSS classes]&amp;lt;/cite&amp;gt; has a couple of interesting uses of h-cite:&lt;br /&gt;
** properties used: p-name, u-url, p-author, p-publication, dt-published, dt-accessed (basically all proposed properties except p-content!)&lt;br /&gt;
** additional experimental property: p-x-translation - which refers to a nested h-cite with its own implied p-name and implied u-url.&lt;br /&gt;
* &amp;lt;cite class=&amp;quot;h-cite&amp;quot;&amp;gt;[http://christopheducamp.com/blog/test-indieweb-parvenir-a-posser-un-article-vers-twitter/ Test #IndieWeb : Parvenir à « POSSEr » un article vers Twitter]&amp;lt;/cite&amp;gt; has an h-cite of a short note:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
  &amp;lt;cite class=&amp;quot;h-cite&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;u-url p-name&amp;quot; href=&amp;quot;http://tantek.com/2013/104/t2/urls-readable-speakable-listenable-retypable&amp;quot;&amp;gt; &lt;br /&gt;
      URLs should be readable, speakable, listenable, and unambiguously &lt;br /&gt;
retypable, e.g. from print: tantek.com/w/ShortURLPrintExample #UX &lt;br /&gt;
    &amp;lt;/a&amp;gt; &lt;br /&gt;
   (&amp;lt;abbr class=&amp;quot;p-author h-card&amp;quot; title=&amp;quot;Tantek Çelik&amp;quot;&amp;gt;Çelik&amp;lt;/abbr&amp;gt; &lt;br /&gt;
    &amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;2013-04-14&amp;lt;/time&amp;gt;)&lt;br /&gt;
  &amp;lt;/cite&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== web citation references ====&lt;br /&gt;
I've been iterating on this design for some time, however, first publicly proposed it as the result of an interactive web citation design discussion during IndieWebCamp2012:&lt;br /&gt;
* &amp;lt;span class=&amp;quot;h-cite&amp;quot;&amp;gt;&amp;lt;time class=&amp;quot;dt-published&amp;quot;&amp;gt;2012-07-01&amp;lt;/time&amp;gt; &amp;lt;span class=&amp;quot;p-publisher&amp;quot;&amp;gt;IndieWebCamp2012&amp;lt;/span&amp;gt;: &amp;lt;cite class=&amp;quot;p-name&amp;quot;&amp;gt;[http://indiewebcamp.com/2012/Academic_Citations_Web Academic Citations for the Web]&amp;lt;/cite&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== A Prescriptive Proposal ===&lt;br /&gt;
([http://microformats.org/wiki/index.php?title=citation&amp;amp;diff=31441&amp;amp;oldid=27502 Contributed 2008-07-09] by [[User:Paramaeleon]] to the [[citation]] page). [[User:Tantek|Tantek]] 19:31, 27 July 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
Here is a proposal which was derived from what one actually has to give as information in a citation in university work. (I don't know where to put that, so I put it right here.)&lt;br /&gt;
&lt;br /&gt;
First, we need a frame, let's say &amp;quot;hcitation&amp;quot;. Multiple citations can be put in a &amp;quot;hcitation&amp;quot; frame. Inside there, we need to describe the type of citation; I suggest &amp;quot;monograph&amp;quot;, &amp;quot;anthology&amp;quot;, &amp;quot;periodical&amp;quot; , &amp;quot;reference&amp;quot;, &amp;quot;thesis&amp;quot; , &amp;quot;standard&amp;quot;, &amp;quot;internet&amp;quot;, or &amp;quot;specialist&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
If a &amp;quot;label&amp;quot; was used to refer to the resource in the text (often in square brackets) it can be named so.&lt;br /&gt;
&lt;br /&gt;
Here comes the list of field names we need: &amp;quot;article&amp;quot;, &amp;quot;atime&amp;quot;, &amp;quot;author&amp;quot;, &amp;quot;ctime&amp;quot;, &amp;quot;department&amp;quot;, &amp;quot;edition&amp;quot;, &amp;quot;editor&amp;quot;, &amp;quot;eligibility&amp;quot;, &amp;quot;employer&amp;quot;, &amp;quot;number&amp;quot;, &amp;quot;overalltitle&amp;quot;, &amp;quot;pagerange&amp;quot;, &amp;quot;part&amp;quot;, &amp;quot;place&amp;quot;, &amp;quot;publisher&amp;quot;, &amp;quot;subseries&amp;quot;, &amp;quot;title&amp;quot;, &amp;quot;type&amp;quot;, &amp;quot;url&amp;quot;, &amp;quot;volume&amp;quot;, &amp;quot;volumetitle&amp;quot;, &amp;quot;year&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The field &amp;quot;page&amp;quot; is to mark up which page you actually quote from. Marking up whatever as &amp;quot;prefix&amp;quot; should give you a hint that this is to be put at first place, but not to refer to when sorting. E.G. &amp;quot;The&amp;quot; should be marked as &amp;quot;prefix&amp;quot; either in &amp;quot;The Crocodile&amp;quot; and also in &amp;quot;Crocodile, the&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Field&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;monograph&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;anthology&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;periodical&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;thesis&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;standard&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;internet&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;&amp;lt;code&amp;gt;specialist&amp;lt;/code&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;article&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Name of the Article in question&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;atime&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Last access time for online resources. Use abbr convention for datetime encoding.&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;11&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Creator. Use fn or n markup for every single entity.&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;ctime&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Date / Last modification. Use abbr convention for datetime encoding.&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;department&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;special field / faculty&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;edition&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Edition information&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Editors of an anthology. Use fn or n markup for every single entity. Add &amp;amp;quot;transl&amp;amp;quot; for translators and &amp;amp;quot;comp&amp;amp;quot; for compilers&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;eligibility&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Qualification of a specialist&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;employer&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Name of university eg.&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Number&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;10&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;12&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;9&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;overalltitle&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Overall Title / Title of series&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;9&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;11&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;pagerange&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Page range of an article in an anthology / periodical&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;13&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;10&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;part&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Part of article (if having several parts)&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;place&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Place of publication&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;7&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;9&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;publisher&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Publication house&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;10&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;subseries&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Name of subseries, if any&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;The main title. Anthology: name of anthology.  Periodical: name of periodical&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Type (type of thesis or type of utterance (radio interview, e-mail, ...) of a specialist)&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;7&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;URL&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;12&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;volume&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Volume information (eg. Vol. 22)&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;7&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;volumetitle&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Volume title&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;7&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;year&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;Year of appearance. 4 digit year. Use abbr convention for datetime encoding.&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This table shows what has to go together. Numbers give the typical ordered structure of the values. Other Information than given here (eg. ISBN, ...) actually has not to be put into citations, students would recive negative evaluations if they do so. (I hope this will help somehow. sorry for bad english.)&lt;br /&gt;
&lt;br /&gt;
==== Sample Usage ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;The Bibliography&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;hcitation&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[MR06]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;monograph&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;sr06&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author firstauthor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Miller&amp;lt;/span&amp;gt;, &lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Michael&amp;lt;/span&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;additional-name&amp;quot;&amp;gt;C.&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt; ;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Mathew&amp;lt;/span&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Roth&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;year&amp;quot;&amp;gt;2006&amp;lt;/span&amp;gt;):&lt;br /&gt;
            &amp;lt;span style=&amp;quot;font-style: italic; &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Students' Jokes : A complete collection of jokes students laugh about&amp;lt;/span&amp;gt;.&lt;br /&gt;
                Vol. &amp;lt;span class=&amp;quot;volume&amp;quot;&amp;gt;23&amp;lt;/span&amp;gt;:&lt;br /&gt;
                &amp;lt;span class=&amp;quot;volumetitle&amp;quot;&amp;gt;Computational Linguists' Jokes&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;edition&amp;quot;&amp;gt;4th completely revised Edition&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;span class=&amp;quot;place&amp;quot;&amp;gt;München&amp;lt;/span&amp;gt; :&lt;br /&gt;
            &amp;lt;span class=&amp;quot;publisher&amp;quot;&amp;gt;Weltbild&amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;overalltitle&amp;quot;&amp;gt;Fictional publications of munich's students&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;number&amp;quot;&amp;gt;2675&amp;lt;/span&amp;gt;)&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[R08a]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;anthology&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;r08a&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author firstauthor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Roth&amp;lt;/span&amp;gt;, &lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Mathew&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;year&amp;quot;&amp;gt;2008&amp;lt;/span&amp;gt;):&lt;br /&gt;
            &amp;amp;bdquo;&amp;lt;span class=&amp;quot;article&amp;quot;&amp;gt;Using semantic HTML for bibliographic citations&amp;lt;/span&amp;gt;.&amp;amp;ldquo;&lt;br /&gt;
            In: &lt;br /&gt;
            &amp;lt;span class=&amp;quot;editor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Michael&amp;lt;/span&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;additional-name&amp;quot;&amp;gt;B.&amp;lt;/span&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Smith&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt; ;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;editor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Miller&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (Eds.)&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;year&amp;quot;&amp;gt;2008&amp;lt;/span&amp;gt;):&lt;br /&gt;
            &amp;lt;span style=&amp;quot;font-style: italic; &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Being POSH : Usage of semantic HTML in web pages&amp;lt;/span&amp;gt;.&lt;br /&gt;
                Vol. &amp;lt;span class=&amp;quot;volume&amp;quot;&amp;gt;4&amp;lt;/span&amp;gt;:&lt;br /&gt;
                &amp;lt;span class=&amp;quot;volumetitle&amp;quot;&amp;gt;Whatever you read&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;edition&amp;quot;&amp;gt;1st Edition&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;span class=&amp;quot;place&amp;quot;&amp;gt;New York&amp;lt;/span&amp;gt; :&lt;br /&gt;
            &amp;lt;span class=&amp;quot;publisher&amp;quot;&amp;gt;Public Press&amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;overalltitle&amp;quot;&amp;gt;Books on data processing&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;number&amp;quot;&amp;gt;1435&amp;lt;/span&amp;gt;)&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[R08b]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;periodical&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;r08b&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author firstauthor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Roth&amp;lt;/span&amp;gt;, &lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Mathew&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;year&amp;quot;&amp;gt;2008&amp;lt;/span&amp;gt;):&lt;br /&gt;
            &amp;amp;bdquo;&amp;lt;span class=&amp;quot;article&amp;quot;&amp;gt;Using semantic HTML in scientific work&amp;lt;/span&amp;gt;.&amp;amp;ldquo;&lt;br /&gt;
            P. &amp;lt;span class=&amp;quot;part&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;; P. &amp;lt;span class=&amp;quot;part&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;.&lt;br /&gt;
            In:&lt;br /&gt;
            &amp;lt;span style=&amp;quot;font-style: italic; &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;The Computational Linguist&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;subseries&amp;quot;&amp;gt;Development of the Semantic Web&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;span class=&amp;quot;volume&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;ctime&amp;quot;&amp;gt;2008&amp;lt;/span&amp;gt;)&lt;br /&gt;
            No. &amp;lt;span class=&amp;quot;number&amp;quot;&amp;gt;16&amp;lt;/span&amp;gt;,&lt;br /&gt;
            Pp. &amp;lt;span class=&amp;quot;pagerange&amp;quot;&amp;gt;124&amp;amp;ndash;131&amp;lt;/span&amp;gt;&lt;br /&gt;
            (Access: &amp;lt;span class=&amp;quot;atime&amp;quot;&amp;gt;&amp;lt;abbr title=&amp;quot;20080714T1612+0200&amp;quot;&amp;gt;14.07.2008 16:12 CEST&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;)&lt;br /&gt;
            &amp;amp;lt;&amp;lt;span class=&amp;quot;url&amp;quot;&amp;gt;http://www.sample.url/web/address/1234.pdf&amp;lt;/span&amp;gt;&amp;amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[S07]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;thesis&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;s07&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author firstauthor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Smith&amp;lt;/span&amp;gt;, &lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;John&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;year&amp;quot;&amp;gt;2007&amp;lt;/span&amp;gt;):&lt;br /&gt;
            &amp;lt;span style=&amp;quot;font-style: italic; &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Semantic Data Extraction from the World Wide Web&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;employer&amp;quot;&amp;gt;University of &amp;lt;span class=&amp;quot;place&amp;quot;&amp;gt;Munich&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;,&lt;br /&gt;
            &amp;lt;span class=&amp;quot;department&amp;quot;&amp;gt;Department of Computational Linguistics&amp;lt;/span&amp;gt;,&lt;br /&gt;
            &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;Diss.&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[SVG11]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;standard&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;svg11&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;number&amp;quot;&amp;gt;ISO 1234567&amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;edition&amp;quot;&amp;gt;1-2003&amp;lt;/edition&amp;gt;):&lt;br /&gt;
            &amp;lt;span style=&amp;quot;font-style: italic; &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Scalable Vector Graphics (SVG) 1.1 Specification&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[Wik08]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;internet&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;wik08&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author firstauthor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Wikipedia, the free encyclopedia&amp;lt;/span&amp;gt;, &lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;year&amp;quot;&amp;gt;2008&amp;lt;/span&amp;gt;):&lt;br /&gt;
            &amp;lt;span style=&amp;quot;font-style: italic; &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Microformat&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (Version: &amp;lt;abbr class=&amp;quot;ctime&amp;quot; title=&amp;quot;2008-06-19&amp;quot;&amp;gt;19th June 2008&amp;lt;/abbr&amp;gt;.&lt;br /&gt;
            Access: &amp;lt;abbr class=&amp;quot;atime&amp;quot; title=&amp;quot;20080703T1423+0200&amp;quot;&amp;gt;3rd July 2008 14:23 CEST&amp;lt;/abbr&amp;gt;)&lt;br /&gt;
            &amp;amp;lt;&amp;lt;a href=&amp;quot;http://en.wikipedia.org/w/index.php?title=Microformat&amp;amp;oldid=220275451&amp;quot; class=&amp;quot;url&amp;quot;&amp;gt;http://en.wikipedia.org/w/index.php?title=Microformat&amp;amp;amp;oldid=220275451&amp;lt;/a&amp;gt;&amp;amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th scope=&amp;quot;row&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;[W08]&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;td class=&amp;quot;specialist&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a name=&amp;quot;w08&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;author firstauthor&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;span class=&amp;quot;family-name&amp;quot; style=&amp;quot;font-variant: small-caps; &amp;quot;&amp;gt;Wang&amp;lt;/span&amp;gt;, &lt;br /&gt;
                &amp;lt;span class=&amp;quot;given-name&amp;quot;&amp;gt;Wu&amp;lt;/span&amp;gt;&lt;br /&gt;
            &amp;lt;/span&amp;gt;&lt;br /&gt;
            (&amp;lt;span class=&amp;quot;eligibility&amp;quot;&amp;gt;Professor of Informatics&amp;lt;/span&amp;gt;,&lt;br /&gt;
            &amp;lt;span class=&amp;quot;department&amp;quot;&amp;gt;Department of Applied Sciences&amp;lt;/span&amp;gt;,&lt;br /&gt;
            &amp;lt;span class=&amp;quot;employer&amp;quot;&amp;gt;University of Michigan&amp;lt;/span&amp;gt;)&lt;br /&gt;
            (&amp;lt;abbr class=&amp;quot;ctime&amp;quot; title=&amp;quot;20000801T0918+0100D0007&amp;quot;&amp;gt;01.08.2000, 9:18&amp;amp;ndash;9:25 MEZ&amp;lt;/abbr&amp;gt;)&lt;br /&gt;
            &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;Science News&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;Interview&amp;lt;/span&amp;gt;.&lt;br /&gt;
            &amp;lt;span class=&amp;quot;overalltitle&amp;quot;&amp;gt;Michigan Television&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== XHTML Structure ===&lt;br /&gt;
With my exprience working X2V and hCa* has taught me what elememts are easy to find and which are not. Since the Citation microformat is very new it is possible to not make a lot of the same errors twice and to make things easier for extracting application to find and imply certain properties.&lt;br /&gt;
&lt;br /&gt;
* There should be some sort of 'root node' that implies all child elements are for the hCitation microformat.&lt;br /&gt;
* Since most people will have multiple citations there should be away to represent each hCitation object as a unqiue block independent of another. This is to keep the parse from finding 'author' and applying that to all citations. Each citation should be in a container (class=&amp;quot;hcite&amp;quot;) that is separated from others.&lt;br /&gt;
* Perhaps class=&amp;quot;hcite&amp;quot; with &amp;lt;code&amp;gt;&amp;amp;lt;cite&amp;amp;gt;&amp;lt;/code&amp;gt; recommended as the root element. E.g. &amp;lt;code&amp;gt;&amp;amp;lt;cite class=&amp;quot;hcite&amp;quot;&amp;amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Note: This section was the original content of the document. Since then, class='hcite' has been agreed on as the root class name. See  [http://microformats.org/wiki?title=citation-brainstorming#.27hcite.27_as_Root_Element_name explanation].'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== how to use with HTML5 ===&lt;br /&gt;
Per [http://lists.w3.org/Archives/Public/public-html/2009Jun/0811.html Theresa O'Connor's email to public-html]: &lt;br /&gt;
Add a section in the citation microformat describing how to use the citation microformat in [[HTML5]], including optional use of HTML5's &amp;amp;lt;time&amp;amp;gt; element and microdata feature. Encourage [[HTML5]] to drop the &amp;quot;BibTeX&amp;quot; predefined microdata vocabulary and reference an updated citation microformat spec instead. [[User:Tantek|Tantek]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== OCLC's WorldCat for titles ===&lt;br /&gt;
Question: what about using something like OCLC's [http://www.oclc.org/worldcat/open/isbnissnlinking/default.htm WorldCat] for linking titles? - Tim White&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== This and That ===&lt;br /&gt;
After reading through alot of different citation encoding formats, i noticed that each format was being used in one of two ways. It was either to describe the Current page (THIS.PAGE) or being used to encode references that point to external resources (THAT.PAGE)&lt;br /&gt;
&lt;br /&gt;
The informatation being encoded was identical for both resources (author, date, name, etc) they just reference different things. For this microformat, i'm not sure if we want to try to solve both problems, or just one? The meta tags in the head element would be the ideal place for information about the THIS.PAGE, but that is not in following with the ideals of microformats where information is human-readable. The THAT.PAGE idea where a list of references is at the end of a document in the form of a bibliography is more inline with the ideals of a microformat where the data is human-readable. That doesn't mean that data about the current document shouldn't be human-readable, so some of the same properties used to reference extermal resources can be used for the current document (THIS.PAGE). To do this a different root item could be used and transforming applications could either extract the citation data about the current page, or information about this page's references.&lt;br /&gt;
&lt;br /&gt;
This is open for discussion, but either way, i believe that the properties used to describe a page will be the same for both THIS and THAT. [http://suda.co.uk/ brian suda]&lt;br /&gt;
&lt;br /&gt;
==== More on This and That ====&lt;br /&gt;
Citation microformats are being explored as a possibility for citing genealogical information at [http://eatslikeahuman.blogspot.com Dan Lawyer's blog].&lt;br /&gt;
&lt;br /&gt;
This is a case where frequently the citation would refer to (THIS.PAGE), but would have nested within it a reference to (THAT.PAGE), possibly a few levels deep. For instance, a web page might contain data extracted from a microfilm of a census. The citation would need to include information about the web page, information about the microfilm, and information about the census. Genealogical citations are expected to include the repository (where can this book or microfilm be found. Is this the same as ''venue''?). So, at each level the information should contain the repository of the referenced item. A nesting (recursive) mechanism for citation microformats would be useful in this case. Is this the function of the &amp;quot;container&amp;quot; element in the Straw Format?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== MARC / MODS / Dublin Core ===&lt;br /&gt;
The MODS ([http://www.loc.gov/standards/marcxml/Sandburg/sandburgmods.xml example]) and Dublin Core ([http://www.loc.gov/standards/marcxml/Sandburg/sandburgdc.xml example]) transformations of MARC21 may contain some useful ideas.&lt;br /&gt;
&lt;br /&gt;
Here's a first attempt at rewriting the linked examples in XHTML (written in response to a [http://microformats.org/discuss/mail/microformats-discuss/2005-December/002438.html mailing list query about encoding book information with microformats]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;book&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3 class=&amp;quot;fn&amp;quot;&amp;gt;Arithmetic /&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;By &amp;lt;span class=&amp;quot;creator&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Sandburg, Carl&amp;lt;/span&amp;gt;,&lt;br /&gt;
     &amp;lt;span class=&amp;quot;date&amp;quot;&amp;gt;1878-1967&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;,&lt;br /&gt;
     and &amp;lt;span class=&amp;quot;illustrator&amp;quot;&amp;gt;Rand, Ted&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Publisher: &amp;lt;span class=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Harcourt Brace Jovanovich&amp;lt;/span&amp;gt;,&lt;br /&gt;
     &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;San Diego&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Published: &amp;lt;span class=&amp;quot;issued&amp;quot;&amp;gt;1993&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;description&amp;quot;&amp;gt;A poem about numbers and their characteristics. Features&lt;br /&gt;
     anamorphic, or distorted, drawings which can be restored to normal by viewing&lt;br /&gt;
     from a particular angle or by viewing the image's reflection in the provided&lt;br /&gt;
     Mylar cone.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;One Mylar sheet included in pocket.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Subjects:&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;subject&amp;quot;&amp;gt;Arithmetic&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;subject&amp;quot;&amp;gt;Children's poetry, American.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;subject&amp;quot;&amp;gt;Arithmetic&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;subject&amp;quot;&amp;gt;American poetry&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;subject&amp;quot;&amp;gt;Visual perception&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== comparison and use of other microformats ==&lt;br /&gt;
=== Citation vs. [[media-info]] ===&lt;br /&gt;
What distinguishes a cite from say [[media-info]] (e.g. [[media-info-examples]]) is that a cite is a reference to something explicitly external to the current piece of content or document, whereas [[media-info]] describes information about content embedded or inline in the current document.&lt;br /&gt;
&lt;br /&gt;
=== Date Formatting ===&lt;br /&gt;
Since microformats are all about re-use and the accepted way to encode Date-Time has been pretty much settled, then this is a good place to start when dealing with all the different date citation types. &lt;br /&gt;
&lt;br /&gt;
These are all the different fields from various citation formats that are of temporal nature:&lt;br /&gt;
 * Date (available | created | dateAccepted | dateCopyrighted | dateSubmitted | issued | modified | valid)&lt;br /&gt;
 * originInfo/dateIssued&lt;br /&gt;
 * originInfo/dateCreated&lt;br /&gt;
 * originInfo/dateCaptured&lt;br /&gt;
 * originInfo/dateOther&lt;br /&gt;
 * month&lt;br /&gt;
 * year&lt;br /&gt;
 * Copyright Year&lt;br /&gt;
 * Date - Generic&lt;br /&gt;
 * Date of Confernce&lt;br /&gt;
 * Date of Publication&lt;br /&gt;
 * Date of update/revisou/issuance of database record&lt;br /&gt;
 * Former Date&lt;br /&gt;
 * Entry Date for Database Record&lt;br /&gt;
 * Database Update&lt;br /&gt;
 * Year of Publication&lt;br /&gt;
&lt;br /&gt;
There are several common properties across several citation domains and will certainly be in the citation microformat, the unique instances will need further consideration, otherwise there could be no end to posiblities. &lt;br /&gt;
&lt;br /&gt;
There are also several properties (year, month, Year of publication) that can be extracted from another source. Therefore, if you only encode a more specific property such as; Date of Publication, you can extract the 'year of publication' from that. Since the date-time format we are modeling after is the ISO date-time format, just the Year portion is an acceptable date. So if you ONLY know the year of publication, the you can form a valid 'Date of Publication' as a microformat (which inturn is a valid 'year of publication') - you milage may vary when it comes to importing into citation applications.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
It seems to me that these can be collapsed to maybe one or two different date properties.  As far as the specific human readable formatting of the date, that can be chosen per whatever the presentation style guide says, and the [[datetime-design-pattern]] used to simplify the markup. - Tantek&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Important'''&lt;br /&gt;
Sometimes we need a date range and not simply a date (e.g. 4-6 May 2006). See ''Conference Citation'' examples later on this page. - Discoleo&lt;br /&gt;
&lt;br /&gt;
'''Seasons'''&lt;br /&gt;
Some journals have seasonal issues (e.g. &amp;quot;Summer 2006 edition&amp;quot;) instead of, or as well as, editions labelled by month or other calendar-date. [[User:AndyMabbett|AndyMabbett]] 05:05, 4 Nov 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
Some of the citation formats has a place for 'keywords' or 'generic tags', etc. This might be a good place to re-use the [http://microformats.org/wiki/rel-tag RelTag microformat]. The downside would be that they are then forced to be links, which might be the correct way to mark-up these terms.&lt;br /&gt;
&lt;br /&gt;
== past discussions ==&lt;br /&gt;
=== Original hBib Discussion ===&lt;br /&gt;
During the WWW2005 Developer's Day [[microformats]] track, Rohit Khare gave a [[presentations|presentation]] where he discussed the microformats [[process]], and then did  a quick demonstration wherein a bunch of us got on a shared Subethaedit document, and brainstormed some thoughts on what an &amp;quot;hBib&amp;quot; bibliography citation microformat would look like.  Rohit placed the [http://cnlabs.commerce.net/~rohit/hBib%20Discussion.html document on his Commercenet site].&lt;br /&gt;
&lt;br /&gt;
* [[hBib Discussion]]&lt;br /&gt;
&lt;br /&gt;
''An attempt to summarize and inline the linked document follows. -Mike''&lt;br /&gt;
&lt;br /&gt;
Two major goals were outlined by the group:&lt;br /&gt;
&lt;br /&gt;
* Avoid re-keying references&lt;br /&gt;
* Adapt to new journal styles by changing CSS&lt;br /&gt;
 &lt;br /&gt;
The fundamental problem was discussed in terms of display - the ability to transform XHTML+hBib into the many journal-specific formats. For example, how to display &amp;quot;et.al&amp;quot; when all authors are present in the source, and how to re-order the elements if a style defines a set order of elements that conflicts with the ordering in the source. Using hCard for authors was agreed on, and the beginnings of an example were shown.&lt;br /&gt;
&lt;br /&gt;
== Outstanding Issues ==&lt;br /&gt;
See [[citation-issues]].&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
Pages which start to use the discussion above to create working examples in using hcite:&lt;br /&gt;
(This section could be used as a base for a page like &amp;quot;hcite-examples-in-wild&amp;quot; later).&lt;br /&gt;
&lt;br /&gt;
Please add new examples to the top of this section.&lt;br /&gt;
* [http://www.demo.vorlagen.uni-erlangen.de/univis/mitarbeiter.shtml/georg-hager.shtml Example User Page] at the regional computer lab Erlangen, Germany, based on the universal information system UnivIS marked up with vcard, hcalender (optional, if user makes a lecture) and hcite.&lt;br /&gt;
&lt;br /&gt;
== discussions ==&lt;br /&gt;
* [[citation-irc-notes-2006-04-09]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{citation-related-pages}}&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=measure-brainstorming&amp;diff=70634</id>
		<title>measure-brainstorming</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=measure-brainstorming&amp;diff=70634"/>
		<updated>2023-07-26T21:06:07Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Measure Microformat Brainstorming =&lt;br /&gt;
&lt;br /&gt;
This page collects ideas on how to use semantic XHTML to represent unambiguously [[measure]]s.&lt;br /&gt;
&lt;br /&gt;
== HTML proposals ==&lt;br /&gt;
There is some evidence of past proposals to add measures/quantities directly to HTML, which should be considered in the context of any overall markup solution:&lt;br /&gt;
&lt;br /&gt;
=== quantity element ===&lt;br /&gt;
https://lists.w3.org/Archives/Public/public-whatwg-archive/2009Aug/0234.html proposed a quantity element&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[…]&lt;br /&gt;
&lt;br /&gt;
I've been looking at the meter element, which specifically states that &lt;br /&gt;
&amp;quot;There is no explicit way to specify units in the meter element, but the &lt;br /&gt;
units may be specified in the title attribute in free-form text.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Having used the web for the past 15 years I've always felt that it's a &lt;br /&gt;
shame when you run into a page with a set of measurements and those &lt;br /&gt;
can't be interpreted automatically in a sensible fashion. Especially &lt;br /&gt;
with the fact that there are both imperial and metric units still around &lt;br /&gt;
in this day and age.&lt;br /&gt;
&lt;br /&gt;
An backwards compatible inline element to specify a quantity would be &lt;br /&gt;
rather trivial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;quantity unit=&amp;quot;cm&amp;quot;&amp;gt;12 cm&amp;lt;/quantity&amp;gt;&lt;br /&gt;
&amp;lt;quantity unit=&amp;quot;kg&amp;quot;&amp;gt;2 kg&amp;lt;/quantity&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this implementation a number inside the quantity element would be &lt;br /&gt;
interpreted as the numerical value of the unit. Other characters would &lt;br /&gt;
be ignored.&lt;br /&gt;
&lt;br /&gt;
[…]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== microformats2 ==&lt;br /&gt;
&lt;br /&gt;
Problem: no existing microformats-2 structures can represent [[measure]] values.&lt;br /&gt;
&lt;br /&gt;
=== Proposal: &amp;lt;code&amp;gt;h-measure&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-angle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h-money&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Based on existing [[#Draft_Schema|old draft schema]]&lt;br /&gt;
&lt;br /&gt;
==== Example Readable Text ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
weighs 79.3kg&lt;br /&gt;
&lt;br /&gt;
100W Light Bulb&lt;br /&gt;
&lt;br /&gt;
Price: $9.90&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Markup ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-measure&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-type&amp;quot; value=&amp;quot;weight&amp;quot;&amp;gt;weighs&amp;lt;/data&amp;gt; &lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-num&amp;quot; value=&amp;quot;79300&amp;quot;&amp;gt;79.3&amp;lt;/data&amp;gt;&amp;lt;data class=&amp;quot;p-unit&amp;quot; value=&amp;quot;g&amp;quot;&amp;gt;kg&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-measure&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-num&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;p-unit&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
  &amp;lt;span class=&amp;quot;item&amp;quot;&amp;gt;Light Bulb&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;h-money&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-type&amp;quot;&amp;gt;Price&amp;lt;/span&amp;gt;:&lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-unit&amp;quot; value=&amp;quot;USD&amp;quot;&amp;gt;$&amp;lt;/data&amp;gt;&amp;lt;span class=&amp;quot;p-num&amp;quot;&amp;gt;9.90&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Parsed JSON ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    &amp;quot;measure&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;num&amp;quot;: [79300],&lt;br /&gt;
    &amp;quot;unit&amp;quot;: [&amp;quot;g&amp;quot;],&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;weight&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    &amp;quot;measure&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;num&amp;quot;: [100],&lt;br /&gt;
    &amp;quot;unit&amp;quot;: [&amp;quot;W&amp;quot;],&lt;br /&gt;
    &amp;quot;item&amp;quot;: [&amp;quot;Light Bulb&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&lt;br /&gt;
    &amp;quot;money&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;properties&amp;quot;: {&lt;br /&gt;
    &amp;quot;num&amp;quot;: [9.90],&lt;br /&gt;
    &amp;quot;unit&amp;quot;: [&amp;quot;USD&amp;quot;]&lt;br /&gt;
    &amp;quot;type&amp;quot;: [&amp;quot;price&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Issues ====&lt;br /&gt;
&lt;br /&gt;
* The type of measurement is not always written out in the english version. This requires the addition of a property that may not have been in the sentence to specify &amp;quot;weight&amp;quot; for example.&lt;br /&gt;
* Requires three new root-level definitions (measure, angle, money)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Proposal: &amp;lt;code&amp;gt;m-*&amp;lt;/code&amp;gt; values ===&lt;br /&gt;
&lt;br /&gt;
Based on the existing proposed &amp;lt;code&amp;gt;n-*&amp;lt;/code&amp;gt; prefix documented here: [[microformats2-prefixes#prefixes_for_future_consideration]]&lt;br /&gt;
&lt;br /&gt;
==== Example Readable Text ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
79.3kg&lt;br /&gt;
&lt;br /&gt;
100W Light Bulb&lt;br /&gt;
&lt;br /&gt;
Price: $9.90&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Markup ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;m-weight&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-num&amp;quot; value=&amp;quot;79300&amp;quot;&amp;gt;79.3&amp;lt;/data&amp;gt;&amp;lt;data class=&amp;quot;p-unit&amp;quot; value=&amp;quot;g&amp;quot;&amp;gt;kg&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;m-power&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-num&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;p-unit&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;p-item&amp;quot;&amp;gt;Light Bulb&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Price: &amp;lt;span class=&amp;quot;m-price&amp;quot;&amp;gt;&amp;lt;data class=&amp;quot;p-unit&amp;quot; value=&amp;quot;USD&amp;quot;&amp;gt;$&amp;lt;/data&amp;gt;&amp;lt;span class=&amp;quot;p-num&amp;quot;&amp;gt;9.90&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Parsed JSON ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;weight&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;measure&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;num&amp;quot;: [79300],&lt;br /&gt;
        &amp;quot;unit&amp;quot;: [&amp;quot;g&amp;quot;]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;power&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;measure&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;num&amp;quot;: [100],&lt;br /&gt;
        &amp;quot;unit&amp;quot;: [&amp;quot;W&amp;quot;],&lt;br /&gt;
        &amp;quot;item&amp;quot;: [&amp;quot;Light Bulb&amp;quot;]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;price&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: [&lt;br /&gt;
        &amp;quot;measure&amp;quot;&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;num&amp;quot;: [9.90],&lt;br /&gt;
        &amp;quot;unit&amp;quot;: [&amp;quot;USD&amp;quot;]&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Issues ====&lt;br /&gt;
&lt;br /&gt;
* Requires the definition of a &amp;quot;type&amp;quot; in order for the value to have a property name in the parsed JSON.&lt;br /&gt;
* How to indicate the measure type (standard, angular, money)? Or is this distinction even important?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Proposal: &amp;lt;code&amp;gt;h-measure&amp;lt;/code&amp;gt; named with &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This is basically a combination of the two above, dropping the individual types (standard, angular, money) in favor of just using &amp;quot;measure&amp;quot;, and allowing these properties to be named the same way the author of an [[h-entry]] is named using &amp;lt;code&amp;gt;p-author&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Example Readable Text ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
weighs 79.3kg&lt;br /&gt;
&lt;br /&gt;
100W Light Bulb&lt;br /&gt;
&lt;br /&gt;
Price: $9.90&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Markup ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
Standalone measure: &amp;lt;span class=&amp;quot;h-measure&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;p-name&amp;quot;&amp;gt;Weight of a widget&amp;lt;/span&amp;gt;: &amp;lt;data class=&amp;quot;p-num&amp;quot;&amp;gt;1.5&amp;lt;/data&amp;gt;&amp;lt;data class=&amp;quot;p-unit&amp;quot;&amp;gt;kg&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example as properties of an h-card:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-card&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span class=&amp;quot;p-name&amp;quot;&amp;gt;Joe Bloggs&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 weighs &lt;br /&gt;
 &amp;lt;span class=&amp;quot;h-measure p-weight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;data class=&amp;quot;p-num&amp;quot; value=&amp;quot;79300&amp;quot;&amp;gt;79.3&amp;lt;/data&amp;gt;&amp;lt;data class=&amp;quot;p-unit&amp;quot; value=&amp;quot;g&amp;quot;&amp;gt;kg&amp;lt;/data&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;h-product&amp;quot;&amp;gt;&lt;br /&gt;
 Price as property of an h-product: &lt;br /&gt;
 &amp;lt;span class=&amp;quot;h-measure p-price&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;data class=&amp;quot;p-unit&amp;quot; value=&amp;quot;USD&amp;quot;&amp;gt;$&amp;lt;/data&amp;gt;&amp;lt;span class=&amp;quot;p-num&amp;quot;&amp;gt;9.90&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Parsed JSON ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;items&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
                &amp;quot;h-measure&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;name&amp;quot;: [&lt;br /&gt;
                    &amp;quot;Weight of a widget&amp;quot;&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;num&amp;quot;: [&lt;br /&gt;
                    &amp;quot;1.5&amp;quot;&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;unit&amp;quot;: [&lt;br /&gt;
                    &amp;quot;kg&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
                &amp;quot;h-card&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;weight&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;type&amp;quot;: [&lt;br /&gt;
                            &amp;quot;h-measure&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                            &amp;quot;num&amp;quot;: [&lt;br /&gt;
                                &amp;quot;79300&amp;quot;&lt;br /&gt;
                            ],&lt;br /&gt;
                            &amp;quot;unit&amp;quot;: [&lt;br /&gt;
                                &amp;quot;g&amp;quot;&lt;br /&gt;
                            ],&lt;br /&gt;
                            &amp;quot;name&amp;quot;: [&lt;br /&gt;
                                &amp;quot;79.3kg&amp;quot;&lt;br /&gt;
                            ]&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;value&amp;quot;: &amp;quot;79.3kg&amp;quot;&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: [&lt;br /&gt;
                    &amp;quot;Joe Bloggs&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: [&lt;br /&gt;
                &amp;quot;h-product&amp;quot;&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;price&amp;quot;: [&lt;br /&gt;
                    {&lt;br /&gt;
                        &amp;quot;type&amp;quot;: [&lt;br /&gt;
                            &amp;quot;h-measure&amp;quot;&lt;br /&gt;
                        ],&lt;br /&gt;
                        &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                            &amp;quot;unit&amp;quot;: [&lt;br /&gt;
                                &amp;quot;USD&amp;quot;&lt;br /&gt;
                            ],&lt;br /&gt;
                            &amp;quot;num&amp;quot;: [&lt;br /&gt;
                                &amp;quot;9.90&amp;quot;&lt;br /&gt;
                            ],&lt;br /&gt;
                            &amp;quot;name&amp;quot;: [&lt;br /&gt;
                                &amp;quot;$9.90&amp;quot;&lt;br /&gt;
                            ]&lt;br /&gt;
                        },&lt;br /&gt;
                        &amp;quot;value&amp;quot;: &amp;quot;$9.90&amp;quot;&lt;br /&gt;
                    }&lt;br /&gt;
                ],&lt;br /&gt;
                &amp;quot;name&amp;quot;: [&lt;br /&gt;
                    &amp;quot;Price as property of an h-product: \r\n \r\n  $9.90&amp;quot;&lt;br /&gt;
                ]&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Issues ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;discussion&amp;quot;&amp;gt;&lt;br /&gt;
* There is no distinction between &amp;quot;standard&amp;quot;, &amp;quot;angular&amp;quot; and &amp;quot;money&amp;quot; types other than the units present. This may or may not be important, need to gather some use cases and examples for each. [[User:Aaronpk|Aaronpk]] 20:07, 16 June 2013 (UTC)&lt;br /&gt;
* If there is no &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; property defined, the &amp;lt;code&amp;gt;h-measure&amp;lt;/code&amp;gt; will end up in the &amp;quot;children&amp;quot; array. [[User:Aaronpk|Aaronpk]] 20:07, 16 June 2013 (UTC)&lt;br /&gt;
* This only works when h-measure is a child microformat, i.e. the example given actually makes no sense. But otherwise I feel this is the sanest proposal --[[User:Barnabywalters|bw]] 20:05, 16 June 2013 (UTC)&lt;br /&gt;
** If the &amp;lt;code&amp;gt;p-*&amp;lt;/code&amp;gt; property is omitted and the &amp;lt;code&amp;gt;h-measure&amp;lt;/code&amp;gt;, wouldn't this just become a new top-level item in the &amp;lt;code&amp;gt;items&amp;lt;/code&amp;gt; array? [[User:Aaronpk|Aaronpk]] 20:07, 16 June 2013 (UTC)&lt;br /&gt;
*** I updated the examples showing how this could work standalone and/or as a property with live output from php-mf2 --[[User:Barnabywalters|bw]] 20:23, 16 June 2013 (UTC)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Examples in the Wild ===&lt;br /&gt;
&lt;br /&gt;
* [[User:Aaronpk|aaronpk]] publishes his weight: http://aaronparecki.com/metrics&lt;br /&gt;
* https://www.jerrysv.xyz/ publishes environmental measurements on the home page&lt;br /&gt;
** including radiation levels with an accuracy amount: &amp;lt;code&amp;gt;0.0785 +/- 0.0087&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Old pre-mf2 brainstorming =&lt;br /&gt;
&lt;br /&gt;
== Draft Schema==&lt;br /&gt;
&lt;br /&gt;
Rationale: The names &amp;quot;type&amp;quot; and &amp;quot;item&amp;quot; are taken from [[hReview]].&lt;br /&gt;
&lt;br /&gt;
{{OpenIssue}} Is &amp;lt;code&amp;gt;tolerance&amp;lt;/code&amp;gt; needed? It is useful for some circumstances, but perhaps not common enough to be included in the spec.&lt;br /&gt;
{{OpenIssue}} A &amp;lt;code&amp;gt;dtmeasured&amp;lt;/code&amp;gt; property may be useful, especially for &amp;lt;code&amp;gt;hmoney&amp;lt;/code&amp;gt;, as prices fluctuate.&lt;br /&gt;
&lt;br /&gt;
=== Standard Measure Schema ===&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;hmeasure&amp;lt;/code&amp;gt;'''&lt;br /&gt;
** '''&amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt;''' {1} (numeric)&lt;br /&gt;
** '''&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;''' {1} (unit)&lt;br /&gt;
** &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;?  (text | [[hcard|hCard]] | [[hcalendar|hCalendar]])&lt;br /&gt;
** &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; ? (text, e.g. &amp;quot;height&amp;quot;, &amp;quot;width&amp;quot;, &amp;quot;weight&amp;quot;)&lt;br /&gt;
** &amp;lt;code&amp;gt;tolerance&amp;lt;/code&amp;gt; ? (percentage | hmeasure)&lt;br /&gt;
&lt;br /&gt;
=== Angular Measure Schema ===&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;hangle&amp;lt;/code&amp;gt;'''&lt;br /&gt;
** '''&amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt;''' {1} (degree)&lt;br /&gt;
** &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;?  (text | [[hcard|hCard]] | [[hcalendar|hCalendar]])&lt;br /&gt;
** &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; ? (text, e.g. &amp;quot;angle of elevation&amp;quot;)&lt;br /&gt;
** &amp;lt;code&amp;gt;tolerance&amp;lt;/code&amp;gt; ? (percentage | hangle)&lt;br /&gt;
&lt;br /&gt;
=== Money Schema ===&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;hmoney&amp;lt;/code&amp;gt;'''&lt;br /&gt;
** '''&amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt;''' {1} (numeric)&lt;br /&gt;
** '''&amp;lt;code&amp;gt;unit&amp;lt;/code&amp;gt;''' {1} ([http://en.wikipedia.org/wiki/ISO_4217 ISO 4217 code])&lt;br /&gt;
** &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;?  (text | [[hcard|hCard]] | [[hcalendar|hCalendar]])&lt;br /&gt;
** &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; ? (text, e.g. &amp;quot;price&amp;quot;, &amp;quot;salary&amp;quot;, &amp;quot;exchange rate&amp;quot;)&lt;br /&gt;
** &amp;lt;code&amp;gt;tolerance&amp;lt;/code&amp;gt; ? (percentage | hmoney)&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;num&amp;lt;/tt&amp;gt;: The Value ==&lt;br /&gt;
&lt;br /&gt;
Arbitrary white space {{may}} be included in the value to improve readability (but only when the &amp;lt;code&amp;gt;num&amp;lt;/code&amp;gt; class is explicitly used — not when mimimisation is employed). Parsers {{must}} strip out all white space before further processing.&lt;br /&gt;
&lt;br /&gt;
In the standard and money schemas, the value {{must}} be a number, formatted according to the following EBNF pattern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;non-zero-digit = &amp;quot;1&amp;quot; | &amp;quot;2&amp;quot; | &amp;quot;3&amp;quot; | &amp;quot;4&amp;quot; | &amp;quot;5&amp;quot; | &amp;quot;6&amp;quot; | &amp;quot;7&amp;quot; | &amp;quot;8&amp;quot; | &amp;quot;9&amp;quot; ;&lt;br /&gt;
digit          = &amp;quot;0&amp;quot; | non-zero-digit ;&lt;br /&gt;
natural        = non-zero-digit , {digit} ;&lt;br /&gt;
integer        = &amp;quot;0&amp;quot; | [ &amp;quot;-&amp;quot; ] , natural ;&lt;br /&gt;
dot-decimal    = integer , &amp;quot;.&amp;quot; , {digit} ;&lt;br /&gt;
comma-decimal  = integer , &amp;quot;,&amp;quot; , {digit} ;&lt;br /&gt;
e-sign         = &amp;quot;e&amp;quot; | &amp;quot;E&amp;quot; ;&lt;br /&gt;
mantissa       = dot-decimal | comma-decimal | integer ;&lt;br /&gt;
sci-number     = mantissa , e-sign , integer ;&lt;br /&gt;
number         = dot-decimal | comma-decimal | integer | sci-number ;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This roughly corresponds to a subset of [http://en.wikipedia.org/wiki/C_syntax#Floating_point_types C syntax] for floating points and integers, excluding octal and hexadecimal representations. However, note that both commas and stops may be used as decimal points.&lt;br /&gt;
&lt;br /&gt;
The Unicode minus sign (U+2212) and ASCII-compatible hyphen-minus (U+002D) {{must}} both be treated as acceptable indicators of a negative number. In addition, the symbols &amp;amp;frac14; (U+00BC), &amp;amp;frac12; (U+00BD) and &amp;amp;frac34; (U+00BE) {{should}} be supported as aliases for 0.25, 0.5 and 0.75 respectively.&lt;br /&gt;
&lt;br /&gt;
In the angular measure schema, a measure is expressed as a combination of up to three numeric components: called degrees, minutes and seconds. Any combination of these components may be used, except when degrees and seconds are given minutes {{must}} be present. The components {{must}} appear in the correct order (degrees, minutes, seconds). Each component must match the production rule for &amp;quot;mantissa&amp;quot; above, with the following additional constraints:&lt;br /&gt;
&lt;br /&gt;
* Only the first component can bear a minus sign. Subsequent components &amp;quot;inherit&amp;quot; the negativity (or lack thereof) from their predecessors.&lt;br /&gt;
* All components except the last must match the production rule for &amp;quot;integer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The numeric components {{must}} be indicated by appending a suffix to each component. Valid suffixes are:&lt;br /&gt;
&lt;br /&gt;
* degree: &amp;quot;deg&amp;quot;, U+00B0 degree symbol (&amp;amp;deg;)&lt;br /&gt;
* minute: &amp;quot;min&amp;quot;, straight single quote ('), U+2032 prime (&amp;amp;prime;)&lt;br /&gt;
* second: &amp;quot;sec&amp;quot;, straight double quote (&amp;quot;), U+2033 double prime (&amp;amp;Prime;)&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
* 1729 (the smallest number that can be expressed as the sum of two cubes in two different ways)&lt;br /&gt;
* 1.61803399 (the golden ratio)&lt;br /&gt;
* 2,99792458e8 (the speed of light in a vacuum, measured in metres per second)&lt;br /&gt;
* -40 (value at which Celcius and Farenheit scales are equal)&lt;br /&gt;
* 1,000,000,000 (''Invalid:'' commas may be used as decimal points, but not for grouping thousands.)&lt;br /&gt;
* 57.2958 deg (1 radian, in degrees)&lt;br /&gt;
* -57&amp;amp;deg; 17&amp;amp;prime; 45.1&amp;amp;Prime; (-1 radian, in degrees, minutes and seconds)&lt;br /&gt;
* 4&amp;amp;deg; 30&amp;amp;Prime; (''Invalid'': no minutes)&lt;br /&gt;
* 4&amp;amp;deg; -30&amp;amp;prime; (''Invalid'': only first component may be negative)&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
&lt;br /&gt;
{{ClosedIssue}} Will the name of this class (&amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt;) cause problems for parsers due to [[hcard-parsing|value excerpting]]?&lt;br /&gt;
* Changed &amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;num&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{OpenIssue}} What about 5&amp;amp;prime; 10&amp;amp;Prime; used to mean 5 foot, 10 inches?&lt;br /&gt;
* Possible solution:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;abbr title=&amp;quot;70 inch&amp;quot;&amp;gt;5&amp;amp;prime; 10&amp;amp;Prime;&amp;lt;/abbr&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;unit:&amp;lt;/tt&amp;gt; The Unit of Measurement ==&lt;br /&gt;
&lt;br /&gt;
In the standard schema, the &amp;quot;unit&amp;quot; class is defined as an arbitrary string. &lt;br /&gt;
&lt;br /&gt;
=== SI Units ===&lt;br /&gt;
&lt;br /&gt;
Any unit may be used, but authors {{should}} attempt to use official SI units of measurement where appropriate. &lt;br /&gt;
&lt;br /&gt;
Parsers that treat the unit as anything other than an opaque string {{should}} recognise the following case-sensitive list of units, derived from the SI list of base units and common derived units, with the addition of bits and bytes, which are commonly used on web pages. (Note that gram appears in this table instead of kilogram. This is deliberate.)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;float:left&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Unit&lt;br /&gt;
! Symbols&lt;br /&gt;
! Aliases&lt;br /&gt;
|-&lt;br /&gt;
| metre&lt;br /&gt;
| m&lt;br /&gt;
| meter&lt;br /&gt;
|-&lt;br /&gt;
| gram&lt;br /&gt;
| g&lt;br /&gt;
| gramme&lt;br /&gt;
|-&lt;br /&gt;
| second&lt;br /&gt;
| s, sec&lt;br /&gt;
|-&lt;br /&gt;
| ampere&lt;br /&gt;
| A&lt;br /&gt;
| amp&lt;br /&gt;
|-&lt;br /&gt;
| candela&lt;br /&gt;
| cd&lt;br /&gt;
|-&lt;br /&gt;
| mole&lt;br /&gt;
| mol&lt;br /&gt;
|-&lt;br /&gt;
| kelvin&lt;br /&gt;
| K, &amp;amp;#x212a; (U+212A)&lt;br /&gt;
|-&lt;br /&gt;
| newton&lt;br /&gt;
| N&lt;br /&gt;
|-&lt;br /&gt;
| pascal&lt;br /&gt;
| Pa&lt;br /&gt;
|-&lt;br /&gt;
| joule&lt;br /&gt;
| J&lt;br /&gt;
|-&lt;br /&gt;
| watt&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| coulomb&lt;br /&gt;
| C&lt;br /&gt;
|-&lt;br /&gt;
| volt&lt;br /&gt;
| V&lt;br /&gt;
|-&lt;br /&gt;
| ohm&lt;br /&gt;
| &amp;amp;Omega; (U+03A9), Ω (U+2126)&lt;br /&gt;
|-&lt;br /&gt;
| siemens&lt;br /&gt;
| S&lt;br /&gt;
|-&lt;br /&gt;
| farad&lt;br /&gt;
| F&lt;br /&gt;
|-&lt;br /&gt;
| weber&lt;br /&gt;
| Wb&lt;br /&gt;
|-&lt;br /&gt;
| henry&lt;br /&gt;
| H&lt;br /&gt;
|-&lt;br /&gt;
| tesla&lt;br /&gt;
| T&lt;br /&gt;
|-&lt;br /&gt;
| hertz&lt;br /&gt;
| Hz&lt;br /&gt;
|-&lt;br /&gt;
| byte&lt;br /&gt;
| B&lt;br /&gt;
|-&lt;br /&gt;
| bit&lt;br /&gt;
| b&lt;br /&gt;
|-&lt;br /&gt;
| litre&lt;br /&gt;
| L, l, &amp;amp;#x2113; (U+2113)&lt;br /&gt;
| liter&lt;br /&gt;
|-&lt;br /&gt;
| Celsius&lt;br /&gt;
| &amp;amp;#x2103; (U+2103), &amp;amp;#xB0;C (U+00B0 followed by captial C) &lt;br /&gt;
|-&lt;br /&gt;
| radian&lt;br /&gt;
| rad&lt;br /&gt;
|-&lt;br /&gt;
| lumen&lt;br /&gt;
| lx&lt;br /&gt;
|-&lt;br /&gt;
| becquerel&lt;br /&gt;
| Bq&lt;br /&gt;
|-&lt;br /&gt;
| gray&lt;br /&gt;
| Gy&lt;br /&gt;
|-&lt;br /&gt;
| sievert&lt;br /&gt;
| Sv&lt;br /&gt;
|-&lt;br /&gt;
| katal&lt;br /&gt;
| kat&lt;br /&gt;
|-&lt;br /&gt;
| steradian&lt;br /&gt;
| sr&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;float:left;margin-left:1.5em;&amp;quot;&lt;br /&gt;
! 10&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&lt;br /&gt;
! Prefix&lt;br /&gt;
! Symbol&lt;br /&gt;
|-&lt;br /&gt;
| 10&amp;lt;sup&amp;gt;24&amp;lt;/sup&amp;gt;&lt;br /&gt;
| yotta-&lt;br /&gt;
|   Y&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt;&lt;br /&gt;
| zetta-&lt;br /&gt;
|   Z&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;18&amp;lt;/sup&amp;gt;&lt;br /&gt;
| exa-&lt;br /&gt;
|   E&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt;&lt;br /&gt;
| peta-&lt;br /&gt;
|   P&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;12&amp;lt;/sup&amp;gt;&lt;br /&gt;
| tera-&lt;br /&gt;
|   T&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt;&lt;br /&gt;
| giga-&lt;br /&gt;
|   G&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| mega-&lt;br /&gt;
|   M&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
| kilo-&lt;br /&gt;
|   k&amp;lt;!-- (K)--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| hecto-&lt;br /&gt;
|   h&amp;lt;!-- (H)--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| deca-&lt;br /&gt;
|   da&amp;lt;!-- (D)--&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt;&lt;br /&gt;
| (none)&lt;br /&gt;
| (none)&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| deci-&lt;br /&gt;
|   d&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| centi-&lt;br /&gt;
|   c&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−3&amp;lt;/sup&amp;gt;&lt;br /&gt;
| milli-&lt;br /&gt;
|   m&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| micro-&lt;br /&gt;
|   µ (U+00B5), μ (U+03BC), u&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−9&amp;lt;/sup&amp;gt;&lt;br /&gt;
| nano-&lt;br /&gt;
|   n&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−12&amp;lt;/sup&amp;gt;&lt;br /&gt;
| pico-&lt;br /&gt;
|   p&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−15&amp;lt;/sup&amp;gt;&lt;br /&gt;
| femto-&lt;br /&gt;
|   f&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−18&amp;lt;/sup&amp;gt;&lt;br /&gt;
| atto-&lt;br /&gt;
|   a&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−21&amp;lt;/sup&amp;gt;&lt;br /&gt;
| zepto-&lt;br /&gt;
|   z&lt;br /&gt;
|- &lt;br /&gt;
| 10&amp;lt;sup&amp;gt;−24&amp;lt;/sup&amp;gt;&lt;br /&gt;
| yocto-&lt;br /&gt;
|   y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The full names and for SI prefixes {{should}} only be combined with the full names for the units (or their aliases). Likewise the symbols for SI prefixes {{should}} only be combined with the symbols for the units.&lt;br /&gt;
&lt;br /&gt;
* kilometre&lt;br /&gt;
* milligramme&lt;br /&gt;
* μL&lt;br /&gt;
* mΩ&lt;br /&gt;
* microV (''not recommended'')&lt;br /&gt;
* kgram (''not recommended'')&lt;br /&gt;
&lt;br /&gt;
==== Combining units ====&lt;br /&gt;
&lt;br /&gt;
Units may be multiplied by separating with whitespace, or divided using a slash (/) or U+2215 division slash (&amp;amp;#x2215;). Units may be raised to an integer power using a caret character. The unicode superscript numerals 2 to 9 (U+00B2, U+00B3, U+2074-79) {{must}} be supported as aliases for raising to the appropriate integer powers. Multiplication is more associative than division.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;kg m / s&amp;amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;m/s^2&amp;amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;meter&amp;amp;#xB3;&amp;amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;&amp;amp;mu;m&amp;quot;&amp;gt;micron&amp;amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Angular units ===&lt;br /&gt;
&lt;br /&gt;
Units {{must not}} be given for measurements expressed in the degree schema: the degree itself is the unit. If the standard schema is used, units may be given in radians (rad). &lt;br /&gt;
&lt;br /&gt;
=== Other / Non-SI Units ===&lt;br /&gt;
&lt;br /&gt;
Authors {{may}} specify units other than those defined above, but {{should not}} assume that parsers will be able to interpret them. Authors using other units {{may}} provide a [[existing-rel-values|rel=glossary]] link to a page or fragment that defines the units.&lt;br /&gt;
&lt;br /&gt;
==== Explicitly Defining a Unit ====&lt;br /&gt;
&lt;br /&gt;
hmeasure may be used with the &amp;amp;lt;dfn&amp;gt; element to explicitly define a unit in terms of pre-defined units. The &amp;quot;title&amp;quot; attribute (if any) is taken to be an alias of the unit name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;p class=&amp;quot;hmeasure&amp;quot; id=&amp;quot;dfn-inch&amp;quot;&amp;gt;&lt;br /&gt;
  An &amp;lt;dfn class=&amp;quot;item&amp;quot; title=&amp;quot;in&amp;quot;&amp;gt;inch&amp;lt;/dfn&amp;gt; is defined as&lt;br /&gt;
  &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;0.0254&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;m&amp;lt;/span&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other instances of hmeasure may then refer to this definition, implicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;p class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
  The &amp;lt;span class=&amp;quot;item&amp;quot;&amp;gt;action figure&amp;lt;/span&amp;gt; has a &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;height&amp;lt;/span&amp;gt; of&lt;br /&gt;
  &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;p class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
  The &amp;lt;span class=&amp;quot;item&amp;quot;&amp;gt;action figure&amp;lt;/span&amp;gt; has a &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;height&amp;lt;/span&amp;gt; of&lt;br /&gt;
  &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;unit&amp;quot; rel=&amp;quot;glossary&amp;quot; href=&amp;quot;#dfn-inch&amp;quot;&amp;gt;in&amp;lt;/a&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{OpenIssue}} Farenheit is reasonably common in some parts of the world. As &amp;amp;deg;C and &amp;amp;deg;F do not share their zero points, it is impossible to use this pattern to define &amp;amp;deg;F. &amp;amp;deg;F thus remains an opaque string with no meaning assigned to it my this spec. Should we add it to the list of pre-defined units?&lt;br /&gt;
&lt;br /&gt;
=== Currency Units ===&lt;br /&gt;
&lt;br /&gt;
If the money schema is being used, the unit is not an arbitrary string. It {{must}} be a three-letter ISO 4217 code. The following aliases for the four largest reserve currencies (as of 2008) are allowed:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Unit&lt;br /&gt;
! Aliases&lt;br /&gt;
|-&lt;br /&gt;
| EUR&lt;br /&gt;
| €&lt;br /&gt;
|-&lt;br /&gt;
| GBP&lt;br /&gt;
| £&lt;br /&gt;
|-&lt;br /&gt;
| JPY&lt;br /&gt;
| ¥&lt;br /&gt;
|-&lt;br /&gt;
| USD&lt;br /&gt;
| $&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other currencies {{may}} be displayed using these symbols only through the [[abbr-design-pattern|ABBR design pattern]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;AUD&amp;quot;&amp;gt;$&amp;lt;/abbr&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;5.00&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;item&amp;lt;/tt&amp;gt;: The Thing Being Measured ==&lt;br /&gt;
&lt;br /&gt;
An hCard, hCalendar event or textual description of the item being measured may be supplied.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;p class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;item vcard&amp;quot;&amp;gt;The &amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;Great Wall&amp;lt;/span&amp;gt;of&lt;br /&gt;
  &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;China&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  is about &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;6 700&amp;lt;/span&amp;gt; &amp;lt;abbr title=&amp;quot;km&amp;quot;&amp;gt;kilometres&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;abbr title=&amp;quot;length&amp;quot; class=&amp;quot;type&amp;quot;&amp;gt;long&amp;lt;/abbr&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the item is not an hCard, hCalendar component or other recognised embedded microformat, then its contents are taken to be a string. &lt;br /&gt;
&lt;br /&gt;
The item is optional.&lt;br /&gt;
&lt;br /&gt;
=== The Item URI ===&lt;br /&gt;
&lt;br /&gt;
If the item is not an embedded hCard or hCalendar event, and is an &amp;lt;code&amp;gt;&amp;amp;lt;a&amp;gt;&amp;lt;/code&amp;gt; element or other linking element, then parsers should parse the URI ''and'' the node contents. The item URI is considered a significant way of determining what entity the hmeasure is describing. For example:&lt;br /&gt;
&lt;br /&gt;
* If the item URI matches the UID for a known contact (e.g. an hCard somewhere on the page, or another page being parsed) then the hmeasure is taken to describe this contact (i.e. person, organisation, etc).&lt;br /&gt;
* A similar meaning can be implied when the item URI matches the UID for a known hCalendar event.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a href=&amp;quot;fn url uid&amp;quot; href=&amp;quot;http://alice.example.net&amp;quot;&amp;gt;Alice Jones&amp;lt;/a&amp;gt;,&lt;br /&gt;
  &amp;lt;span class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Sydney&amp;lt;/span&amp;gt;,&lt;br /&gt;
    &amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;Australia&amp;lt;/span&amp;gt;.&lt;br /&gt;
  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
... further down the page ...&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;a class=&amp;quot;item&amp;quot; href=&amp;quot;http://alice.example.net&amp;quot;&amp;gt;Alice's&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;height&amp;lt;/span&amp;gt; is&lt;br /&gt;
  &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;180&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;cm&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;: The Dimension ==&lt;br /&gt;
&lt;br /&gt;
The type specifies the dimension being measured. A measurement in, say, metres may be ambiguous because it could refer to a depth, a height, a length or a width. The optional type parameter allows you to specify a human-readable dimension.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;tolerance&amp;lt;/tt&amp;gt;: The Error Tolerance ==&lt;br /&gt;
&lt;br /&gt;
An optional tolerance may be specified as a percentage or as a nested hmeasure/hmoney.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;type&amp;quot;&amp;gt;Height&amp;lt;/span&amp;gt;:&lt;br /&gt;
  &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;m&amp;lt;/span&amp;gt;&lt;br /&gt;
  ± &amp;lt;span class=&amp;quot;tolerance&amp;quot;&amp;gt;2%&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;$&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;5.00&amp;lt;/span&amp;gt;&lt;br /&gt;
  ± &amp;lt;span class=&amp;quot;tolerance hmoney&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;$&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1.00&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When no tolerance is provided, a default tolerance of 0% {{must not}} be assumed — the tolerance is simply unknown.&lt;br /&gt;
&lt;br /&gt;
== Minimisation Techniques ==&lt;br /&gt;
&lt;br /&gt;
=== hmeasure ===&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;tt&amp;gt;num&amp;lt;/tt&amp;gt; is given, then the first number conforming to the EBNF above is taken to be the numerical value of the measurement. If no unit is given, then the entire string within the &amp;quot;hmeasure&amp;quot; (less the numerical value, item, type and tolerance) is taken to be the unit.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;3 pints &amp;lt;span class=&amp;quot;item&amp;quot;&amp;gt;beer&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* '''Num:''' 3&lt;br /&gt;
* '''Unit:''' &amp;quot;pints&amp;quot;&lt;br /&gt;
* '''Item:''' &amp;quot;beer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;4 m&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* '''Num:''' 4&lt;br /&gt;
* '''Unit:''' metre&lt;br /&gt;
&lt;br /&gt;
{{OpenIssue}} What about cases where there is no white space? SI says white space should always separate the quantity and unit, but in practice, many people do not include white space in measures.&lt;br /&gt;
&lt;br /&gt;
{{ClosedIssue}} When no unit is explicitly given, how do we know which of the following two behaviors to take? Assume unit minimisation and follow the procedures here; or Assume angular schema and treat number as a degree/minute/second.&lt;br /&gt;
* Changed root element class for angular schema to &amp;lt;tt&amp;gt;hangle&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hmoney ===&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;tt&amp;gt;num&amp;lt;/tt&amp;gt; is given, then the first number conforming to the EBNF above is taken to be the numerical value. If no &amp;lt;tt&amp;gt;unit&amp;lt;/tt&amp;gt; is given, the first three-letter word (or single character alias) is taken to be the unit. White space between the implied unit and implied number is considered optional. The following are to be equivalent:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;EUR&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1,00&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;EUR &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1,00&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;EUR1,00&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;1,00 EUR&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;1.00 &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;EUR&amp;quot;&amp;gt;euro&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;€1,00&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;hmoney&amp;quot; title=&amp;quot;EUR 1,00&amp;quot;&amp;gt;a euro&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Minimising Tolerence ===&lt;br /&gt;
&lt;br /&gt;
If the tolerance is not a percentage (i.e. it is a nested hmeasure/hmoney) and it does not contain a unit (either explicit, or by minimisation rules), then the unit is taken to be the unit of the parent hmeasure/hmoney.&lt;br /&gt;
&lt;br /&gt;
If no explicit tolerance is given, the hmeasure string should be examined for an occurrence of the substring &amp;quot;±&amp;quot;. If this is present, the substring after it, and continuing to the end of the hmeasure string is taken to be a tolerance. If the tolerance contains a &amp;quot;%&amp;quot; character, the tolerance is taken to be a percentage. Otherwise is it taken to be an implicit nested hmeasure/hmoney.&lt;br /&gt;
&lt;br /&gt;
=== Implied Item ===&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;tt&amp;gt;item&amp;lt;/tt&amp;gt; is present, then the item {{may}} be inferred from nesting. If the &amp;lt;tt&amp;gt;hmeasure&amp;lt;/tt&amp;gt; (or &amp;lt;tt&amp;gt;hangle&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;hmoney&amp;lt;/tt&amp;gt;) is nested within an hCard or hCalendar event, then the implied item is the person, organisation or place represented by the hCard, or the event represented in hCalendar.&lt;br /&gt;
&lt;br /&gt;
Future versions of this specification may add other implied item minimisation techniques.&lt;br /&gt;
&lt;br /&gt;
=== Worked example ===&lt;br /&gt;
&lt;br /&gt;
The following example shows a series of expansions taken by a parser encountering a minimised hmoney:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;$1.54 ± 0.01&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;±&amp;quot; sign introduces a tolerance, which does not include a &amp;quot;%&amp;quot; symbol, so is treated as a nested hmoney.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;$1.54 ±&amp;lt;span class=&amp;quot;hmoney tolerance&amp;quot;&amp;gt;0.01&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No explicit units or values are given in either hmoney, so units and numerical values are extracted as per hmoney minimisation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;$&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1.54&amp;lt;/span&amp;gt;&lt;br /&gt;
±&amp;lt;span class=&amp;quot;hmoney tolerance&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;0.01&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The nested hmoney contains no unit, so it inherits its unit from the parent hmoney:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;span class=&amp;quot;hmoney&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;$&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;1.54&amp;lt;/span&amp;gt;&lt;br /&gt;
±&amp;lt;span class=&amp;quot;hmoney tolerance&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;$&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;num&amp;quot;&amp;gt;0.01&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parsed values:&lt;br /&gt;
&lt;br /&gt;
* '''Unit:''' USD&lt;br /&gt;
* '''Num:''' 1.54&lt;br /&gt;
* '''Tolerance:'''&lt;br /&gt;
** '''Unit:''' USD&lt;br /&gt;
** '''Num:''' 0.01&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
An example weather forecast using hmeasure, [[adr]], [[geo]] and [[hCalendar]] with the [[include-pattern|include pattern]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
    Weather for&lt;br /&gt;
    &amp;lt;span id=&amp;quot;loc-lewes&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;adr location&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Lewes&amp;lt;/span&amp;gt;,&lt;br /&gt;
            &amp;lt;span class=&amp;quot;region&amp;quot;&amp;gt;East Sussex&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;/span&amp;gt;&lt;br /&gt;
        (&amp;lt;span class=&amp;quot;geo&amp;quot;&amp;gt;50.8730;0.005&amp;lt;/span&amp;gt;)&lt;br /&gt;
    &amp;lt;/span&amp;gt;,&lt;br /&gt;
    &amp;lt;span class=&amp;quot;vevent item&amp;quot; id=&amp;quot;day-20080325&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a class=&amp;quot;include&amp;quot; href=&amp;quot;#loc-lewes&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Tuesday&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;dtstart&amp;quot; title=&amp;quot;2008-03-25&amp;quot;&amp;gt;25 March&amp;lt;/abbr&amp;gt;&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;dtend&amp;quot; title=&amp;quot;2008-03-26&amp;quot;&amp;gt;&amp;lt;/abbr&amp;gt;&lt;br /&gt;
    &amp;lt;/span&amp;gt;:&lt;br /&gt;
    &amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a class=&amp;quot;include&amp;quot; href=&amp;quot;#day-20080325&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
        &amp;lt;abbr title=&amp;quot;Maximum temperature&amp;quot; class=&amp;quot;type&amp;quot;&amp;gt;High&amp;lt;/abbr&amp;gt;&lt;br /&gt;
        8 &amp;amp;#x2103;&lt;br /&gt;
    &amp;lt;/span&amp;gt;,&lt;br /&gt;
    &amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;a class=&amp;quot;include&amp;quot; href=&amp;quot;#day-20080325&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
        &amp;lt;abbr title=&amp;quot;Minimum temperature&amp;quot; class=&amp;quot;type&amp;quot;&amp;gt;Low&amp;lt;/abbr&amp;gt;&lt;br /&gt;
        0 &amp;amp;#x2103;&lt;br /&gt;
    &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(The above example does not necessarily represent best practice. Authors should make themselves aware of the accessibility issues currently being discussed around the include and abbr design patterns.)&lt;br /&gt;
&lt;br /&gt;
== Parsing Hints ==&lt;br /&gt;
&lt;br /&gt;
This section is ''informative''. &lt;br /&gt;
&lt;br /&gt;
=== num parsing ===&lt;br /&gt;
&lt;br /&gt;
This Perl code shows how a number can be parsed according to the EBNF production in this spec. Its author (Toby Inkster) releases the following code into the public domain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
my $nonZeroDigit = '[1-9]';&lt;br /&gt;
my $digit        = '\d';&lt;br /&gt;
my $natural      = &amp;quot;($nonZeroDigit)($digit)*&amp;quot;;&lt;br /&gt;
my $integer      = &amp;quot;(0|\-?($natural)+)&amp;quot;;&lt;br /&gt;
my $decimal      = &amp;quot;($integer)[\.\,]($digit)*&amp;quot;;&lt;br /&gt;
my $mantissa     = &amp;quot;($decimal|$integer)&amp;quot;;&lt;br /&gt;
my $sciNumber    = &amp;quot;($mantissa)[Ee]($integer)&amp;quot;;&lt;br /&gt;
my $number       = &amp;quot;($sciNumber|$decimal|$integer)&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;/$number/\n&amp;quot;;&lt;br /&gt;
while (&amp;lt;&amp;gt;)&lt;br /&gt;
{&lt;br /&gt;
	s/\s*//g;&lt;br /&gt;
	m/$number/;&lt;br /&gt;
	print &amp;quot;Number found: $1\n&amp;quot;;&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== unit parsing ===&lt;br /&gt;
&lt;br /&gt;
Parsers should note that (with the exception of certain non-ascii characters, which can be converted manually first) all the pre-defined non-currency units can be understood by the [http://www.gnu.org/software/units/ GNU units] program. A parser could act as a wrapper to a GNU units installation, or make use of a GNU units-based web service to convert between units.&lt;br /&gt;
&lt;br /&gt;
== Guillaume Lebleu ==&lt;br /&gt;
&lt;br /&gt;
Basic example with elementary unit using the abbr pattern and the UNECE code (see [[measure-formats]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;length&amp;quot;&amp;gt;5 &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;Feet&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional &amp;quot;value&amp;quot; could be useful in some cases, for instance when the value is provided in plain text:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;length&amp;quot;&amp;gt;&amp;lt;abbr class=&amp;quot;value&amp;quot; title=&amp;quot;5&amp;quot;&amp;gt;Five&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;Feet&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Andy Mabbett==&lt;br /&gt;
&lt;br /&gt;
===Converter Extension===&lt;br /&gt;
This Firefox extension may be of interest. Note, though, that it's been criticised for having a &amp;quot;nag&amp;quot; screen: [https://addons.mozilla.org/firefox/2286/ Converter] [[User:AndyMabbett|AndyMabbett]] 15:32, 3 Oct 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
:This is the author of that extension. I don't want to go much into this, but I just want to clarify this briefly. The part with the nag screen is wrong on two counts: (1) that dialog isn't there anymore, and (2) even if it was there, you only needed to read a paragraph and click a button to make it go away ''forever'' -- but you don't have to take my word for it, install it for yourselves and see. Andy's report is accurate however -- the extension '''''was''''' criticized for that dialog (that's what you get from your free extension's users when you ask for 15 seconds of their time in return for hundreds of hours of your time). --[[User:BogdanStancescu|BogdanStancescu]] 09:35, 9 Oct 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
===Wikipedia converter===&lt;br /&gt;
Wikipedia's [http://en.wikipedia.org/wiki/Template:Convert Convert Template] automatically converts from metric to imperial and vice versa. It's worth noting the measurements it supports. &lt;br /&gt;
&lt;br /&gt;
===Google calculator===&lt;br /&gt;
A Google search, e.g. for &amp;quot;0.6 miles&amp;quot; [http://www.google.co.uk/search?q=0.6+miles returns a metric conversion]. See also [http://www.google.co.uk/intl/en/help/calculator.html Google calculator help].&lt;br /&gt;
&lt;br /&gt;
===HTML Entities===&lt;br /&gt;
*For squared and cubic values, the HTML entities &amp;lt;code&amp;gt;&amp;amp;amp;sup2;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;amp;sup3;&amp;lt;/code&amp;gt; should be borne in mind.&lt;br /&gt;
&lt;br /&gt;
*For temperatures and angels, the HTML entity &amp;lt;code&amp;gt;&amp;amp;amp;deg;&amp;lt;/code&amp;gt; exists.&lt;br /&gt;
&lt;br /&gt;
*The following currency entities exist: &lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;curren;&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;&amp;amp;amp;curren;&amp;lt;/code&amp;gt; - currency &lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;cent;&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;&amp;amp;amp;cent;&amp;lt;/code&amp;gt; - cent&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;pound;&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;&amp;amp;amp;pound;&amp;lt;/code&amp;gt; - pound&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;yen;&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;&amp;amp;amp;yen;&amp;lt;/code&amp;gt; - yen&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;euro;&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;&amp;amp;amp;euro;&amp;lt;/code&amp;gt; - Euro&lt;br /&gt;
&lt;br /&gt;
==Bogdan Stăncescu==&lt;br /&gt;
Here are my findings related to automatic parsing of measurements on web pages while developing the [http://converter.mozdev.org Converter] extension. Please ask away if you want me to go into more detail on any of the topics -- I'm not sure which of my experiences are relevant to microformats, so I'm going to give you an overview of my conclusions.&lt;br /&gt;
&lt;br /&gt;
By the way of an introduction, the Converter is a Firefox extension which tries to convert all measurements it finds in any web page to their Imperial or metric counterpart (e.g. Fahrenheit to Celsius, and Celsius to Fahrenheit; meters to feet and feet to meters). There are two steps to the conversion process: (1) identifying the measurements in the page, and (2) converting them. As expected, the conversion part is trivial, at least conceptually. The parsing is the tricky bit, and that's also where the Converter's challenges also become relevant for microformats.&lt;br /&gt;
&lt;br /&gt;
Here are the main challenges I have encountered while writing the Converter:&lt;br /&gt;
&lt;br /&gt;
;Presentation standardization: The first, biggest and most obvious challenge is lack of almost any ''de facto'' standardization in respect to data presentation. What I mean is that although the units themselves are more or less standardized (more on that later), they are ''presented'' in various ways within web pages. Take these examples: &amp;quot;50 foot monster&amp;quot;, &amp;quot;50 ft monster&amp;quot;, &amp;quot;50 feet monster&amp;quot;, &amp;quot;50-foot monster&amp;quot;, &amp;quot;50-feet monster&amp;quot; -- and my personal favorite, &amp;quot;fifty-foot monster&amp;quot; (more on this later);&lt;br /&gt;
&lt;br /&gt;
:Note that using a microformat using in particular the [[abbr-design-pattern]] would make each of these examples less ambiguous if not unambiguous. See below --[[User:Guillaume_Lebleu|Guillaume_Lebleu]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;height&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;&amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;foot&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt; monster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;height&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;&amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;ft&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt; monster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;height&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;-&amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;foot&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt; monster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;height&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;&amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;feet&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt; monster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;height&amp;quot;&amp;gt;&amp;lt;abbr class=&amp;quot;value&amp;quot; title=&amp;quot;50&amp;quot;&amp;gt;fifty&amp;lt;/abbr&amp;gt;&amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;FOT&amp;quot;&amp;gt;foot&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt; monster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: Of course; as far as I could gather, that's actually the ''purpose'' of microformats -- bridging the gap between what humans and machines can understand, no? --[[User:BogdanStancescu|BogdanStancescu]] 00:30, 11 Oct 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
;Unit standardization: I live in Europe, where I've always used the metric system. As such, this probably was a much bigger nasty surprise for me than it is for a user of the Imperial/U.S. Customary system: in the Imperial system, the units themselves vary depending on where you are -- miles, pints, and a whole lot of other units come in many different flavors, but they're all written the same in regular usage;&lt;br /&gt;
&lt;br /&gt;
;Language: &amp;quot;1 meter&amp;quot; vs. &amp;quot;1 metre&amp;quot; is a reasonable difference -- but non-SI units are usually translated. Even some SI units have different plurals, depending on the language, although in theory SI units are actually denoted by ''symbols'', not &amp;quot;words&amp;quot;, as to make them non-translatable, and truly international (hence the name of the SI). I haven't really given much thought to a solution towards parsing these, because I find it overwhelming for the time.&lt;br /&gt;
&lt;br /&gt;
;The sheer number of units: surprisingly, most people don't realize just how many units we humans have invented. Just take a look here: [http://www.asknumbers.com/ asknumbers.com] -- see how many categories there are? Now click on Flow Rate -- a non-ubiquitous type of measurement. Three sub-categories only for flow rates! Now click on Volume Flow Rate and take a look at the number of units in those lists. Remember, those are just in one of the three categories for flow rate! The UNECE standard mentioned in the [[measure-formats#Measure_Formats|measure formats]] page is useful to define just that -- a ''standard'' set of units. But in practice there are a lot more being used out there.&lt;br /&gt;
&lt;br /&gt;
:Do you have examples from the Web (a URL) of non-UNECE units. One possibility would be to provide the ability for a unit to be defined as a division of products of other units. This is consistent with the [[measure-formats#Systeme_International]], which defines 7 base units and all other units as derived units (of course some units, even though they are derived are much easily represented as simple ones). This is what XBRL has done for financial/accounting/reporting. See [[currency-formats#XBRL]] and theorical example (ampere acre per second) below --[[User:Guillaume_Lebleu|Guillaume_Lebleu]]:&lt;br /&gt;
&lt;br /&gt;
::Unfortunately I don't have URLs -- almost at all -- with measurements, although I've been in the &amp;quot;business&amp;quot; for a while. The reason for this is that I collect URLs of pages I encounter which are not properly parsed by the Converter, and when I release a version which understands those, I delete the URLs. Also, I never intended to cover all units in the Converter myself, for a multitude of reasons -- therefore I was never interested in the more exotic ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Guillaume Lebleu's example&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;unit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;AMP&amp;quot;&amp;gt;Ampere&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;ACR&amp;quot;&amp;gt;acre&amp;lt;/abbr&amp;gt; &amp;lt;span class=&amp;quot;divide&amp;quot;&amp;gt;per&amp;lt;/span&amp;gt; &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;SEC&amp;quot;&amp;gt;second&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::Regarding your idea of breaking down the units in base units, that's something I've also been toying with in my head for the Converter. For my particular application, it's technically more difficult to implement this breakdown. For microformats, it would be easier, but there still remains at least one potential problem: you end up with a huge mess in the page. If a standard is too complicated to follow, one tends to give up altogether.&lt;br /&gt;
&lt;br /&gt;
::Consider a document which actually discusses some sort of current variation per farm, and therefore needs to repeatedly refer to ampere acres per second. For human use, they'd simply define the AAS somewhere at the top of the document, and then refer to AAS, KAAS or MAAS as needed. Maybe a similar approach should be considered for microformats as well:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We define the &lt;br /&gt;
&amp;lt;span class=&amp;quot;unit_definition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;unit_name&amp;quot;&amp;gt;AAS&amp;lt;/span&amp;gt;&lt;br /&gt;
  as&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;AMP&amp;quot;&amp;gt;Ampere&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;ACR&amp;quot;&amp;gt;acre&amp;lt;/abbr&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;divide&amp;quot;&amp;gt;per&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;SEC&amp;quot;&amp;gt;second&amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::And then use the &amp;quot;AAS&amp;quot; throughout the document as any other pre-defined unit. How would you define (and use) the KAAS (1000 AAS) or MAAS (1,000,000 AAS) though? Is there any standard way already to use data multipliers in microformats? Or should we discuss that? Or is it out of scope? --[[User:BogdanStancescu|BogdanStancescu]] 00:30, 11 Oct 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
That's all I can think of as major hurdles right now. If I remember anything else, I'll post here. Please do give me feedback here if you want to ask more about any of the topics I touched above, or if you have other questions I might be able to reply to. --[[User:BogdanStancescu|BogdanStancescu]] 12:08, 9 Oct 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Discoleo==&lt;br /&gt;
=== Measurement Classification ===&lt;br /&gt;
&lt;br /&gt;
Because it is easier to provide examples, I will first list examples.&lt;br /&gt;
&lt;br /&gt;
==== Categorical vs Ordinal Data ====&lt;br /&gt;
&lt;br /&gt;
Various measurements may produce '''NON-Numerical''' values:&lt;br /&gt;
* a pain scale: '''most severe''', '''very severe''', '''severe''', ...&lt;br /&gt;
* or the TNM tumour classification system: T0, Tx, T1, T2, T3, T4, N0, ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is even a more fundamental issue related to numbers themselves, e.g.:&lt;br /&gt;
* '''Lists''' or '''Years''' are sometimes written using '''Roman Numbers'''&lt;br /&gt;
** however, the strings corresponding to ''Roman Numbers'', when sorted alphabetically, do NOT retain the correct order&lt;br /&gt;
** i.e. C (100) preceds L (50), which preceds X (10)&lt;br /&gt;
* there are other numbering schemes&lt;br /&gt;
&lt;br /&gt;
==== A Single Value / Data Point ====&lt;br /&gt;
&lt;br /&gt;
This is the most simple data format and pretty straitforward to implement.&lt;br /&gt;
&lt;br /&gt;
* the distance between 2 cities is '''40 km'''&lt;br /&gt;
* the velocity is '''62 mph'''&lt;br /&gt;
* most other simple entires (...)&lt;br /&gt;
&lt;br /&gt;
==== An Interval Measurement ====&lt;br /&gt;
&lt;br /&gt;
* time: the shop is open between '''6am - 18pm''' on every day of the week, exept Saturdays  from '''9am - 16pm''' and Sundays from '''9am - 13pm'''&lt;br /&gt;
**[[hcalendar|hCalendar]]? [[User:AndyMabbett|Andy Mabbett]] 09:24, 22 Nov 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
This is more about an interval measurement. Every variable can have 2 (or more) values, e.g.:&lt;br /&gt;
* the levels of rain fall were between 25mm - 35mm&lt;br /&gt;
* the maximum velocity of various cars was 220 - 250 km/h&lt;br /&gt;
&lt;br /&gt;
Should these values be stored as separate values? [e.g. low / high]&lt;br /&gt;
Or should the microformats be able to store an interval?&lt;br /&gt;
&lt;br /&gt;
See also the examples for statistical summaries below.&lt;br /&gt;
&lt;br /&gt;
*Mark up each as a separate measurement, and wrap them in a &amp;quot;range&amp;quot; microformat? [[User:AndyMabbett|Andy Mabbett]] 11:36, 22 Nov 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Matrices ====&lt;br /&gt;
&lt;br /&gt;
* the GPS coordinates are '''12°14' N and 25°55' E'''&lt;br /&gt;
**[[geo|Geo]]? [[User:AndyMabbett|Andy Mabbett]] 09:25, 22 Nov 2006 (PST)&lt;br /&gt;
* the dimension of the box is '''3m x 2m x 0.55m'''&lt;br /&gt;
**this is three separate, single measurements, surely? [[User:AndyMabbett|Andy Mabbett]] 09:21, 22 Nov 2006 (PST)&lt;br /&gt;
** 3 x 2 x 0.55 cubic meter, still 3 measurements, BUT given as cubic meter =&amp;gt; ONE measurement?&lt;br /&gt;
***Who writes 3x2x0.55 cubic meter? You'd write &amp;quot;3.3m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&amp;quot; [[User:AndyMabbett|Andy Mabbett]] 11:36, 22 Nov 2006 (PST)&lt;br /&gt;
** the surface was 2 x 3 square feet ???&lt;br /&gt;
***Who writes 2x3 sq ft? You'd write &amp;quot;2ftx3ft&amp;quot; or &amp;quot;6ft&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;quot; [[User:AndyMabbett|Andy Mabbett]] 11:36, 22 Nov 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* IF we write &amp;quot;3.3m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&amp;quot; or &amp;quot;6ft&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;quot;, we '''loose information'''&lt;br /&gt;
* IF I want a surface, I would prefer the '''sqare feet''' unit, and NOT '''...feet x ...feet'''&lt;br /&gt;
* writing for every measure a markup, will '''bloat''' the code extensively&lt;br /&gt;
** data matrices would be very effective here&lt;br /&gt;
*** how would you make such a matrix? There are different ways how such information can be &amp;quot;compounded&amp;quot;. (length per time = speed, length * length = area). Maybe a we can group those measurements by a surrounding information, what the context is. --Emil 02:50, 25 Dec 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
==== Statistical Measurements ====&lt;br /&gt;
&lt;br /&gt;
Often, a group of data is summarized using a statistics:&lt;br /&gt;
* the mean length was 1.3m (SD 0.12m, group size 22)&lt;br /&gt;
* the median age was 42 years (interquartile range 95% 18 - 97)&lt;br /&gt;
&lt;br /&gt;
==== Measurement Scales ====&lt;br /&gt;
&lt;br /&gt;
===== Accuracy vs. Precision =====&lt;br /&gt;
&lt;br /&gt;
'''QUESTIONS'''&lt;br /&gt;
* How detailed should a measurement be stored?&lt;br /&gt;
**Microformats aren't for storing measurements; they're for &amp;quot;labelling&amp;quot; the measurements that are already present. [[User:AndyMabbett|Andy Mabbett]] 09:23, 22 Nov 2006 (PST)&lt;br /&gt;
* If Accuracy and precision are relevant to the measurement, how do we store these?&lt;br /&gt;
&lt;br /&gt;
===== Standardization of Measurement =====&lt;br /&gt;
&lt;br /&gt;
* sometimes we may need to store the calibration information / calibration curves&lt;br /&gt;
* we may need to store the reference point the measurement is based on&lt;br /&gt;
* we may need to store the '''normal values'''&lt;br /&gt;
** biomedical measurements are often laboratory dependent, so it does NOT make sense to have the measurement without the corresponding normal values&lt;br /&gt;
** e.g. anti-Hepatitis B surface antigen antibody (anti-HBs) Titer: 32 MIU/ml&lt;br /&gt;
*** normal: 0 (non-infected, non-past infection, non-immunity)&lt;br /&gt;
*** protective immunity: &amp;gt;10 MIU/ml&lt;br /&gt;
*** interpretation is however more complex, depending on other tests as well&lt;br /&gt;
&lt;br /&gt;
== Emil Thies ==&lt;br /&gt;
&lt;br /&gt;
From my understanding, this microformat should concentrate on the notation of a measurement. So there will be some aspects, which has to be covered (elsewhere?) to improve the automatic use it or this microformat only uses some base informationens (units / dimensions) and derives all used from those base / build-in once.&lt;br /&gt;
&lt;br /&gt;
=== Dimension vs. Unit vs. Scale vs. Measurement ===&lt;br /&gt;
&lt;br /&gt;
A measurement is the combination of a number (value) and a unit (kind).&lt;br /&gt;
* 3km (3 Kilo Metre = 3.000 Metre)&lt;br /&gt;
&lt;br /&gt;
A unit is a view for a measure of a dimension. There are two kinds how units can be different to each user:&lt;br /&gt;
* Units Differ by Scale (Prefix)&lt;br /&gt;
** 3km is the same as 3.000 meter or 300.000 cm (Its the same unit, with a different prefix, which works like a factor for the value, to lower the amount of symbols / numbers. The scale should be an own element and we can make use of the standard prefixes, like they are defined on [http://aurora.regenstrief.org/UCUM/ucum.html#section-Prefixes The Unified Code for Units of Measure] or [http://www.w3.org/TR/mathml-units/#SI-prefixes MathML]).&lt;br /&gt;
* Different units of the same dimension can be transferred into each other.&lt;br /&gt;
** Metre is a unit of the dimension length.&lt;br /&gt;
** Foot is a unit of the dimension length.&lt;br /&gt;
&lt;br /&gt;
A Dimension is a base-dimension (see SI-System) or a compound dimension.&lt;br /&gt;
* length is a base dimension&lt;br /&gt;
* time is a base dimension&lt;br /&gt;
* speed is a compound dimension (length per time). There for a measurement of speed has one number and two unit by a math expression, which form their own unit. e.g. 10 m/s (10 Metre per second).&lt;br /&gt;
&lt;br /&gt;
If we express a measurement in a microformat by the unit, the dimension is indirect provided by it. But a microformat, which uses measurement as a part, needs to define the dimension of it, to keep the use of the unit as an user choice. So, we could have a general measurement element, which allows all kinds of units to use. As a derived format, we can have sub-formats, which limit the list of units (or define an alternate list) by only allowing specific dimension(s).&lt;br /&gt;
&lt;br /&gt;
E.G. &lt;br /&gt;
* [[currency-proposal]], with the money element which uses the same elements value (should then replace amount), scale (should be introduced), unit (should replace currency) which is limit to the ISO 4217 list.&lt;br /&gt;
* length, which only allows units which measures the dimension length, like FOT, MTR ...&lt;br /&gt;
&lt;br /&gt;
=== Identification of Units ===&lt;br /&gt;
&lt;br /&gt;
There are so many Units around - not only the existing one. There are deprecated ones like from Rome empire etc. For example &amp;quot;[http://en.wikipedia.org/wiki/Foot_(unit_of_length) Foot]&amp;quot; is not an unique identification of a unit. There is not only the British and U.S., there are for example same old German ones, before those areas joined the international metre convention in 1875:&lt;br /&gt;
* 25 cm in Hessen&lt;br /&gt;
* 28,935 cm in Bremen &lt;br /&gt;
* 29,641 cm in Oldenburg &lt;br /&gt;
* 29,1859 cm in Bayern &lt;br /&gt;
* 30,385 cm in Meiningen-Hildburghausen &lt;br /&gt;
* 31,385 cm in Preußen &lt;br /&gt;
* 31,608 cm in Wien/Österreich &lt;br /&gt;
* 32,61 cm in Bad Homburg vor der Höhe &lt;br /&gt;
* 33 1/3 cm in der Pfalz &lt;br /&gt;
	&lt;br /&gt;
So there is the need of a unique identification of those units. I found two approach right:&lt;br /&gt;
&lt;br /&gt;
==== In MathML ====&lt;br /&gt;
&lt;br /&gt;
MathML [http://www.w3.org/TR/mathml-units/#definitionURL defines] the construction of an URI like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://base/units/unit name[/context][/country][#prefix]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://.../units/foot/de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But as you can see, there is right now no way to distinguish the different German foots based on the area inside Germany. Furthermore the context is so variable, that the same unit can be described by different URLs.&lt;br /&gt;
&lt;br /&gt;
==== In OpenMath ====&lt;br /&gt;
&lt;br /&gt;
OpenMath [http://www.openmath.org/cdgroups/units.html defines] the units inside of content directories:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://www.openmath.org/cd/units_us1.xhtml#foot_us_survey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So there is a unique URLs for a Unit, but not every Unit is covered.&lt;br /&gt;
&lt;br /&gt;
=== Transformation of Units ===&lt;br /&gt;
&lt;br /&gt;
A real benefit is the automatic transformation of a unit, so that the write can write the measurement in his context (e.g. in the U.S. foot, or a quote from an antike text in Rome Empire foot) and the reader can get a transformation in his context (e.g. the value in metre). There fore there is the need of additional transformation information. And there are some different kinds of transformation:&lt;br /&gt;
&lt;br /&gt;
==== units of same dimension ====&lt;br /&gt;
&lt;br /&gt;
 e.g. foot to metre&lt;br /&gt;
&lt;br /&gt;
==== units of compound but same dimension ====&lt;br /&gt;
&lt;br /&gt;
 e.g. metre/s and mach-number&lt;br /&gt;
&lt;br /&gt;
==== compound measurement context ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;This switch works up to 5 Ampere by 220 Volt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reader might to now, which Watt device he can attach (1100 Watt would be the answer).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;The dimension of the box is 3m x 2m x 0.55m&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There might be some question like:&lt;br /&gt;
* volume (3,3 m³)&lt;br /&gt;
* surface (17,5 m²)&lt;br /&gt;
&lt;br /&gt;
=== Approach ===&lt;br /&gt;
&lt;br /&gt;
A general measurement should make use of the following informations:&lt;br /&gt;
&lt;br /&gt;
value: a number, which represents the amount of the measurement. The number should follow one of the following representation:&lt;br /&gt;
* natural (positive and negative): e.g. -1, 0, 1&lt;br /&gt;
* decimal fraction (positive and negative): e.g. -2.5, 0.123&lt;br /&gt;
* natural fraction (positive and negative): e.g. -2/3, 3/7&lt;br /&gt;
scale: a factor used to lower the needed numbers of the value. The scale should be either&lt;br /&gt;
* a letter to refer a build-in factor, which is defined in [http://aurora.regenstrief.org/UCUM/ucum.html#section-Prefixes The Unified Code for Units of Measure] or [http://www.w3.org/TR/mathml-units/#SI-prefixes MathML]).&lt;br /&gt;
* a number like defined on value&lt;br /&gt;
unit: the unit used for the measurement. The unit should follow one of the following representation:&lt;br /&gt;
* build-in short-form like defined on [http://www.unece.org/etrades/units.htm Standards for Trade and Electronic Business] (or any other defined list which will be defined as the standard list for this format)&lt;br /&gt;
* a reference to a unit definition. (I think there is the need of a markup/language to define new units and/or the transformation between units).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;measurement&amp;quot;&amp;gt;&amp;lt;abbr class=&amp;quot;value&amp;quot; title=&amp;quot;5&amp;quot;&amp;gt;Five&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;scale&amp;quot; title=&amp;quot;k&amp;quot;&amp;gt;kilo&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;MTR&amp;quot;&amp;gt;metre&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when we have a defined sub-measurement format for length, it could also be written:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;length&amp;quot;&amp;gt;&amp;lt;abbr class=&amp;quot;value&amp;quot; title=&amp;quot;5&amp;quot;&amp;gt;Five&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;scale&amp;quot; title=&amp;quot;k&amp;quot;&amp;gt;kilo&amp;lt;/abbr&amp;gt; &amp;lt;abbr class=&amp;quot;unit&amp;quot; title=&amp;quot;MTR&amp;quot;&amp;gt;metre&amp;lt;/abbr&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== List of possible Sub-Formats ====&lt;br /&gt;
&lt;br /&gt;
Here is a (first) list of possible keywords for sub-formats and their unit list or compound kind:&lt;br /&gt;
&lt;br /&gt;
* money - unit limit to the ISO 4217 List (or could be a sparate [[currency]] microformat)&lt;br /&gt;
* '''length''' - unit limited to e.g. MTR (Metre), FOT (Foot) ....)&lt;br /&gt;
** '''area''' &lt;br /&gt;
*** Either a measurement with units like MTK (Square Metre), FTK (Square Foot) &lt;br /&gt;
*** or a compound format with elements (width:length, height:length)&lt;br /&gt;
** '''volume''' &lt;br /&gt;
*** Either a measurement with units like MTQ (Cubic Metre), FTQ (Cubic Foot), LTR (Litre) ...&lt;br /&gt;
*** or a compound format with elements (width:length, height:length, depth:length)&lt;br /&gt;
* time or duration or '''period''' - unit limited to e.g. sec (second), min (minute) ...&lt;br /&gt;
* '''frequency''' - unit limited to Hertz&lt;br /&gt;
* mass or '''weight''' - unit limited to GRM (Gram), ...&lt;br /&gt;
* power or '''electricity''' - unit limited to AMP (Ampere), OHM (Ohm), ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Straw man==&lt;br /&gt;
Based on [[currency-brainstorming#Taylor_Cowan|Taylor Cowan's currency suggestion]], and [http://microformats.org/discuss/mail/microformats-new/2007-September/000921.html subsequent mailing list discussion], the following straw man (rendering the above sub-formats unnecessary) is proposed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
          [value]&lt;br /&gt;
        &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;hmeasure&amp;quot; title=&amp;quot;[value]&amp;quot;&amp;gt;&lt;br /&gt;
          [text]&lt;br /&gt;
        &amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;value&amp;quot;  is a number-type pair (&amp;quot;3Kg&amp;quot;, &amp;quot;456g&amp;quot;) using [http://en.wikipedia.org/wiki/SI_units SI] or other standard unit-codes and where parsers must accept the formats:&lt;br /&gt;
&lt;br /&gt;
*[unit-code][number]&lt;br /&gt;
*[unit-code][space][number]&lt;br /&gt;
*[number][unit-code]&lt;br /&gt;
*[number]space[unit-code]&lt;br /&gt;
&lt;br /&gt;
and where the acceptable codes are to be determined.&lt;br /&gt;
&lt;br /&gt;
Further comment is invited. A test page is available, at http://www.westmidlandbirdclub.com/test/measure.htm&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
*This is extensible, using agreed new codes for unusual or archaic measurements (say &amp;quot;FUR&amp;quot; for &amp;quot;furlong&amp;quot;); such codes could be contained  in the microformat's profile.&lt;br /&gt;
*Otherwise, it works as-is for sub-divisions of currencies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;hmeasure&amp;quot; title=&amp;quot;635mm&amp;quot;&amp;gt;&lt;br /&gt;
          2' 1&amp;quot;&lt;br /&gt;
        &amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:(2' 1&amp;quot; is &amp;quot;two feet one inch&amp;quot; in imperial measurement).&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
*is hmeasure the appropriate class-name?&lt;br /&gt;
*Is [[currency|money]] a separate microformat, or a measurement, with the ISO currency code as the unit-code?&lt;br /&gt;
*What standard sources for unit-codes exist? &lt;br /&gt;
**[http://www.bipm.org/en/si/ International System of Units]&lt;br /&gt;
*This is still susceptible to the [[accessibility-issues#abbr-design-pattern]]&lt;br /&gt;
*How should stops (.) and commas (,) be interpreted? [[User:TobyInk|TobyInk]] 04:13, 18 Nov 2007 (PST)&lt;br /&gt;
*Do we also need sub-classes?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
          The &amp;lt;span class=&amp;quot;unit-code&amp;quot;&amp;gt;kg&amp;lt;/span&amp;gt; weight was, in total &amp;lt;span class=&amp;quot;value&amp;quot;&amp;gt;5&amp;lt;/span&amp;gt;.&lt;br /&gt;
        &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If so, where would this be used? And are &amp;quot;unit-code&amp;quot; and &amp;quot;value&amp;quot; appropriate class-names?&lt;br /&gt;
*&amp;lt;p&amp;gt;'''[http://en.wikipedia.org/wiki/Measurement Measurement errors]''' are fundamental in many technical and scientific fields, they must be supported. [[User:LucaPost|LucaPost]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
       &amp;lt;span class=&amp;quot;hmeasure&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;a href=&amp;quot;/depth&amp;quot; rel=&amp;quot;tag&amp;quot; class=&amp;quot;data-name&amp;quot;&amp;gt;Depth&amp;lt;/a&amp;gt;:&lt;br /&gt;
             ( &amp;lt;span class=&amp;quot;data-value&amp;quot;&amp;gt;2.17&amp;lt;/span&amp;gt; +/-&lt;br /&gt;
                  &amp;lt;span class=&amp;quot;data-error&amp;quot;&amp;gt; 0.02&amp;lt;/span&amp;gt; )&lt;br /&gt;
                  x 10&amp;lt;sup class=&amp;quot;exp&amp;quot;&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
                  &amp;lt;abbr class=&amp;quot;unit-measure&amp;quot; title=&amp;quot;m&amp;quot;&amp;gt;meters&amp;lt;/abbr&amp;gt;.&lt;br /&gt;
        &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
:#Here the actual physical quantity is better 'defined' with rel-tag, and the optional data-error is clearly identified with its own span; alternatively parsers might identify the data-error part by looking for the '&amp;amp;plusmn;' html-entity.&lt;br /&gt;
:# The standard '''[http://en.wikipedia.org/wiki/Scientific_Notation scientific notation]''' requires the data and the error values to be rounded to the same number of digits; the exponential notation in powers of ten is useful to have a singular format for values of any order of magnitude.&lt;br /&gt;
:# data-error and exp are not needed outside scientific contexts, thus they would be optional; the above HTML still represents a semantic structure when they're left out.&lt;br /&gt;
&lt;br /&gt;
===Suggested amendment 1===&lt;br /&gt;
&lt;br /&gt;
*Use only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;hmeasure&amp;quot; title=&amp;quot;[value]&amp;quot;&amp;gt;&lt;br /&gt;
          [text]&lt;br /&gt;
        &amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;value&amp;quot; is a number-type pair (&amp;quot;3 kg&amp;quot;, &amp;quot;456 g&amp;quot;) using [http://en.wikipedia.org/wiki/SI_units SI] or other standard unit-codes where the parser must accept the following formats:&lt;br /&gt;
&lt;br /&gt;
*Single measurements - [number][space][[http://en.wikipedia.org/wiki/SI_prefix SI-prefix]][[http://www.bipm.org/en/si/si_brochure/chapter5/5-2.html SI-unit]]&lt;br /&gt;
*Compound measurements - [number][space][[http://en.wikipedia.org/wiki/SI_prefix SI-prefix]][[http://www.bipm.org/en/si/si_brochure/chapter5/5-2.html SI-unit]][/][[[http://en.wikipedia.org/wiki/SI_prefix SI-prefix]][[http://www.bipm.org/en/si/si_brochure/chapter5/5-2.html SI-unit]]&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
*The only values allowed are SI values and prefixes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;hmeasure&amp;quot; title=&amp;quot;635 mm&amp;quot;&amp;gt;&lt;br /&gt;
          2' 1&amp;quot;&lt;br /&gt;
        &amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;hmeasure&amp;quot; title=&amp;quot;635 km/s&amp;quot;&amp;gt;&lt;br /&gt;
          635 kilometers per second&lt;br /&gt;
        &amp;lt;/abbr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;abbr class=&amp;quot;hmeasure&amp;quot; title=&amp;quot;0.5 m^3/s^2&amp;quot;&amp;gt;&lt;br /&gt;
          half a cubic metre per second squared&lt;br /&gt;
        &amp;lt;/abbr&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Supported SI Prefixes====&lt;br /&gt;
&lt;br /&gt;
* yotta Y Quadrillion -1 000 000 000 000 000 000 000 000&lt;br /&gt;
* zetta Z Trilliard (thousand trillion) - 1 000 000 000 000 000 000 000&lt;br /&gt;
* exa- 	E 	Quintillion 	Trillion 	1 000 000 000 000 000 000&lt;br /&gt;
* peta- 	P 	Quadrillion 	Billiard (thousand billion) 	1 000 000 000 000 000&lt;br /&gt;
* tera- 	T 	Trillion 	Billion 	1 000 000 000 000&lt;br /&gt;
* giga- 	G 	Billion 	Milliard (thousand million) 	1 000 000 000&lt;br /&gt;
* mega- 	M 	Million 	1 000 000&lt;br /&gt;
* kilo- 	k 	Thousand 	1 000&lt;br /&gt;
* hecto- 	h 	Hundred 	100&lt;br /&gt;
* deca- 	da 	Ten 	10&lt;br /&gt;
* deci- 	d 	Tenth 	0.1&lt;br /&gt;
* centi- 	c 	Hundredth 	0.01&lt;br /&gt;
* milli- 	m 	Thousandth 	0.001&lt;br /&gt;
* micro- 	u 	Millionth 	0.000 001&lt;br /&gt;
** There is already a unicode character for the micro, sign: &amp;amp;#xB5; (U+00B5). Better to use it than substituting a &amp;quot;u&amp;quot;. [[User:TobyInk|TobyInk]] 03:56, 18 Nov 2007 (PST)&lt;br /&gt;
* nano- 	n 	Billionth 	Milliardth 	0.000 000 001&lt;br /&gt;
* pico- 	p 	Trillionth 	Billionth 	0.000 000 000 001&lt;br /&gt;
* femto- 	f 	Quadrillionth 	Billiardth 	0.000 000 000 000 001&lt;br /&gt;
* atto- 	a 	Quintillionth 	Trillionth 	0.000 000 000 000 000 001&lt;br /&gt;
* zepto- 	z 	Sextillionth 	Trilliardth 	0.000 000 000 000 000 000 001&lt;br /&gt;
* yocto- 	y 	Septillionth 	Quadrillionth 	0.000 000 000 000 000 000 000 001&lt;br /&gt;
&lt;br /&gt;
====Supported SI Units====&lt;br /&gt;
&lt;br /&gt;
*meter (m) - length&lt;br /&gt;
*gram (g) - mass&lt;br /&gt;
*kilogram (kg) - mass&lt;br /&gt;
*second (s) - time&lt;br /&gt;
*ampere (A) - electric current&lt;br /&gt;
*kelvin	(K) - thermodynamic temperature&lt;br /&gt;
*mole (mol) - amount of substance&lt;br /&gt;
*candela (cd) -	luminous intensity&lt;br /&gt;
&lt;br /&gt;
====Supported Derived SI Units====&lt;br /&gt;
*hertz 	(Hz) - frequency&lt;br /&gt;
*newton -	(N) 	force, weight&lt;br /&gt;
*pascal -	(Pa) 	pressure, stress&lt;br /&gt;
*joule 	(J) -	energy, work, heat&lt;br /&gt;
*watt 	(W) -	power, radiant flux&lt;br /&gt;
*coulomb 	(C) -	electric charge or electric flux&lt;br /&gt;
*volt 	(V) -	voltage, electrical potential difference, electromotive force&lt;br /&gt;
*farad 	(F) -	electric capacitance&lt;br /&gt;
*ohm 	(ohm) -	electric resistance, impedance, reactance&lt;br /&gt;
*siemens 	(S) -	electrical conductance&lt;br /&gt;
*weber 	(Wb) -	magnetic flux&lt;br /&gt;
*tesla 	(T) -	magnetic field&lt;br /&gt;
*henry 	(H) -	inductance&lt;br /&gt;
*lumen 	(lm) -	luminous flux&lt;br /&gt;
*lux 	(lx) -	illuminance&lt;br /&gt;
*becquerel 	(Bq) -	radioactivity (decays per unit time)&lt;br /&gt;
*sievert 	(Sv) -	equivalent dose (of ionizing radiation)&lt;br /&gt;
*katal 	(kat) -	catalytic activity&lt;br /&gt;
&lt;br /&gt;
====Supported Non-SI Units====&lt;br /&gt;
&lt;br /&gt;
*minute (min) - time&lt;br /&gt;
*hour (h) - time&lt;br /&gt;
*day (d) - time&lt;br /&gt;
*radian (rad) - angle&lt;br /&gt;
*degree of arc (deg) - angle&lt;br /&gt;
** Use instead U+00B0 (&amp;amp;#xB0;, degree) [[User:TobyInk|TobyInk]] 04:06, 18 Nov 2007 (PST)&lt;br /&gt;
*minute of arc (') - angle&lt;br /&gt;
** Use instead U+2032 (&amp;amp;#x2032;, prime) [[User:TobyInk|TobyInk]] 04:06, 18 Nov 2007 (PST)&lt;br /&gt;
*second of arc (&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;) - angle&lt;br /&gt;
** Use instead U+2033 (&amp;amp;#x2033;, double-prime) [[User:TobyInk|TobyInk]] 04:06, 18 Nov 2007 (PST)&lt;br /&gt;
*steradian (sr) - solid angle&lt;br /&gt;
*square degree (deg^2) - solid angle&lt;br /&gt;
*litre (L) - volume&lt;br /&gt;
*tonne (t) - mass&lt;br /&gt;
&lt;br /&gt;
====Units Defined by Microformats.org====&lt;br /&gt;
&lt;br /&gt;
*celcius (cel) - temperature&lt;br /&gt;
** Use U+2103 (&amp;amp;#x2103;, degrees celcius) [[User:TobyInk|TobyInk]] 04:07, 18 Nov 2007 (PST)&lt;br /&gt;
*bit (bit) - computing&lt;br /&gt;
*year (y) - year&lt;br /&gt;
*inch (in) - inch&lt;br /&gt;
*foot (ft) - foot&lt;br /&gt;
&lt;br /&gt;
====Supported SI Markup====&lt;br /&gt;
&lt;br /&gt;
*solidus (/) - divisor&lt;br /&gt;
** Division slash (&amp;amp;#x2215;, U+2215) more appropriate [[User:TobyInk|TobyInk]] 04:09, 18 Nov 2007 (PST)&lt;br /&gt;
*caret (^) - exponentiation&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{measure-related-pages}}&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-me&amp;diff=70577</id>
		<title>rel-me</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-me&amp;diff=70577"/>
		<updated>2022-11-14T20:33:54Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: /* implementations */ +Mastodon, mv App.net past, use IA link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:rel=&amp;quot;me&amp;quot;}}&lt;br /&gt;
;short URL&lt;br /&gt;
:http://ufs.cc/w/relme&lt;br /&gt;
&lt;br /&gt;
[[XFN]] 1.1 introduced the &amp;quot;me&amp;quot; [[rel]] value which is used to indicate profile equivalence and for [[identity-consolidation]]. &lt;br /&gt;
&lt;br /&gt;
== example ==&lt;br /&gt;
&amp;lt;code&amp;gt;rel=&amp;quot;me&amp;quot;&amp;lt;/code&amp;gt; is used on hyperlinks from one page about a person to other pages about that same person.&lt;br /&gt;
&lt;br /&gt;
For example, [[User:Tantek|Tantek]]'s [https://tantek.com/ home page] has (markup simplified)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://github.com/tantek&amp;quot; rel=&amp;quot;me&amp;quot;&amp;gt;@t&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And his GitHub profile itself has (markup simplified)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://tantek.com/&amp;quot; rel=&amp;quot;me&amp;quot;&amp;gt;https://tantek.com/&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thus establishing a bi-directional rel-me link and confirming that the two URLs represent the same person.&lt;br /&gt;
&lt;br /&gt;
Publishers can use the [https://gmpg.org/xfn/creator XFN creator] form to create rel-me hyperlinks.&lt;br /&gt;
&lt;br /&gt;
== screencast and videos ==&lt;br /&gt;
Watch some short videos:&lt;br /&gt;
* David Recordon's excellent *30 second* explanation of XFN rel=&amp;quot;me&amp;quot;&lt;br /&gt;
** [http://web.archive.org/web/20090119054502/http://www.sixapart.com/static_news/opening_social_graph/xfn_links/xfn_links.html Archived page], though presentation requires Flash&lt;br /&gt;
** Original: http://www.sixapart.com/static_news/opening_social_graph/xfn_links/xfn_links.html&lt;br /&gt;
* [https://www.youtube.com/watch?v=LabCylbapuM Brad Fitzpatrick explains rel=&amp;quot;me&amp;quot; and more XFN].&lt;br /&gt;
* [https://connectedsocialmedia.com/423/plaxo-to-ship-online-identity-aggregator-based-on-microformats/ Joseph Smarr's whiteboard explanation] of rel=&amp;quot;me&amp;quot; as implemented in the Plaxo online identity aggregator. ([http://web.archive.org/web/20220708203538/https://connectedsocialmedia.com/423/plaxo-to-ship-online-identity-aggregator-based-on-microformats/ archived]) &amp;lt;!-- original URL http://www.podtech.net/scobleshow/technology/1611/plaxo-to-ship-online-identity-aggregator-based-on-microformats does not redirect to new episode permalink --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longer:&lt;br /&gt;
* [https://www.youtube.com/watch?v=Q2WzVSVxrrI Gavin Bell on &amp;quot;What is your provenance?&amp;quot;] (40 minutes) - provides a much broader discussion of the problem statement of who is a person on the Web, and [https://youtu.be/Q2WzVSVxrrI?t=450 starting at about 0:07:30] explains how [[hCard]] + rel=&amp;quot;me&amp;quot; helps solve this problem.&lt;br /&gt;
&lt;br /&gt;
== tutorials ==&lt;br /&gt;
[http://ungeekdapo.wordpress.com/2008/04/29/a-simple-data-portability-project-or-is-it/ A simple data portability project or is it] ([http://web.archive.org/web/20221110203949/https://ungeekdapo.wordpress.com/2008/04/29/a-simple-data-portability-project-or-is-it/ archived]) rel=me summary by Bob Ngu&lt;br /&gt;
&lt;br /&gt;
== domain verification ==&lt;br /&gt;
rel=me is the standard way to check that a website belongs to a user on a 3rd party site.&lt;br /&gt;
&lt;br /&gt;
* read a user's website that they entered into their 3rd party site profile&lt;br /&gt;
* check for a rel=me hyperlink from their website to their 3rd party site profile&lt;br /&gt;
* if such a rel=me hyperlink is found, then the user has proven that they control that personal website sufficient to put a link back to their 3rd party site profile, and thus domain verification succeeds.&lt;br /&gt;
&lt;br /&gt;
If you're the implementer of such a 3rd party site with user profiles, implement the above to implement a personal website domain verification feature.&lt;br /&gt;
&lt;br /&gt;
== rel-me-auth ==&lt;br /&gt;
[[RelMeAuth]] is a proposed open standard for using [[rel-me]] links to profiles on [[OAuth]] supporting services to authenticate via either those profiles or your own site.&lt;br /&gt;
&lt;br /&gt;
In short it is a combination of '''domain verification''' as documented above, and OAuth authorization on the 3rd party site that the user's domain links to.&lt;br /&gt;
&lt;br /&gt;
Read more about how to implement [[RelMeAuth]] and [[web sign-in]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
'''TO BE UPDATED'''&lt;br /&gt;
&lt;br /&gt;
The sections below this need to be updated (e.g. links verified, and deadlinks replaced with Internet Archive versions)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== implementations ==&lt;br /&gt;
Notable Sites:&lt;br /&gt;
* [https://indieweb.org/Mastodon#rel-me_support Mastodon] uses rel-me to support &amp;quot;verified&amp;quot; site links in a green box with a green checkmark next to the verified site.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
* '''[https://indieauth.com/ IndieAuth]''' is perhaps the most comprehensive [[rel-me]] implementation, using it to implement [[RelMeAuth]] and a superset of [[web-sign-in]] that is focused on [http://indiewebcamp.com/ independent websites].&lt;br /&gt;
&lt;br /&gt;
[[wordpress-plugins|WordPress plugins]]:&lt;br /&gt;
* [http://blog.maybe5.com/?page_id=94 Social Links Wordpress plugin] - supports rel-me links to other services&lt;br /&gt;
* [http://code.l0g.in/about-me/ About Me plugin] (on github) - supports creation of an About Me page with rel-me links to other profiles.&lt;br /&gt;
&lt;br /&gt;
=== past implementations ===&lt;br /&gt;
* '''[https://web.archive.org/web/20170826050132/https://support.google.com/webmasters/answer/1229920 Google]''' used reciprocal rel=me links for domain verification, which it also used for independent site [[rel-author]] support.&lt;br /&gt;
* '''[http://web.archive.org/web/20140117144124/http://blog.app.net/2013/04/29/announcing-domain-verification App.net]''' implemented rel-me for officially connecting your domain to your app.net account, as well as publishing rel-me on your site.&lt;br /&gt;
&lt;br /&gt;
=== advocacy ===&lt;br /&gt;
Advocating rel=me support can be done a few ways, if a site has:&lt;br /&gt;
* user profiles but no &amp;quot;website&amp;quot; field - ask them to add a &amp;quot;website&amp;quot; field and mark it up with rel=me.&lt;br /&gt;
* a &amp;quot;website&amp;quot; field on profiles - ask it to support publishing rel=me&lt;br /&gt;
* a notion of &amp;quot;verification&amp;quot; or &amp;quot;verified&amp;quot; profiles - ask it to do so via confirming reciprocal rel=me&lt;br /&gt;
* login/sign-in - ask it to support [[RelMeAuth]] with a [[Web sign-in]] user interface.&lt;br /&gt;
&lt;br /&gt;
Current requests:&lt;br /&gt;
* [https://github.com/gittip/www.gittip.com/issues/2477 Gittip: Add &amp;quot;website&amp;quot; profile field #2477] - requested 2014-06-07 by Aaron Parecki.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== examples in the wild ==&lt;br /&gt;
Examples of sites publishing rel=me support, e.g. on user profiles.&lt;br /&gt;
&lt;br /&gt;
See:&lt;br /&gt;
* [[hcard-xfn-supporting-friends-lists#Services_with_XFN_rel.3D.22me.22_to_multiple_external_sites|services supporting XFN rel=me]]&lt;br /&gt;
&lt;br /&gt;
== articles ==&lt;br /&gt;
* 2018-04-26 [https://vanderven.se/martijn/ Martijn van der Ven]: [https://wiki.zegnat.net/media/the-real-deal-about-rel-me.html The Real Deal About &amp;lt;code&amp;gt;rel=&amp;quot;me&amp;quot;&amp;lt;/code&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== see also ==&lt;br /&gt;
* [[hcard-xfn-supporting-friends-lists#Services_with_XFN_rel.3D.22me.22_to_multiple_external_sites|services that support rel=&amp;quot;me&amp;quot;]]&lt;br /&gt;
* [[rel-me-faq]]&lt;br /&gt;
* [[xfn]]&lt;br /&gt;
* [[rel]]&lt;br /&gt;
* [[social network portability]]&lt;br /&gt;
* [https://gmpg.org/xfn/11 XFN 1.1 profile]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-tag&amp;diff=70576</id>
		<title>rel-tag</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-tag&amp;diff=70576"/>
		<updated>2022-11-13T21:59:38Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:rel=&amp;quot;tag&amp;quot;}}&lt;br /&gt;
&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
== Draft Specification 2005-01-10 ==&lt;br /&gt;
* If you’re looking for &amp;lt;code&amp;gt;rel=&amp;quot;me&amp;quot;&amp;lt;/code&amp;gt;, see: '''[[rel-me]]'''.&lt;br /&gt;
&lt;br /&gt;
; Editors/Authors&lt;br /&gt;
:[http://tantek.com/ Tantek Çelik]&lt;br /&gt;
:[http://epeus.blogspot.com/ Kevin Marks]&lt;br /&gt;
&lt;br /&gt;
;Concept&lt;br /&gt;
:[http://powazek.com/ Derek Powazek]&lt;br /&gt;
&lt;br /&gt;
;Incorporated into&lt;br /&gt;
:[https://www.w3.org/TR/html5/links.html#link-type-tag W3C HTML5]&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2004}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
* [[User:Kevin Marks|Kevin Marks]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
[[Rel-Tag]] is one of several [[MicroFormats]].  By adding &amp;lt;code&amp;gt;rel=&amp;amp;quot;tag&amp;amp;quot;&amp;lt;/code&amp;gt; to a hyperlink, a page indicates that the destination of that hyperlink is an author-designated &amp;amp;quot;tag&amp;amp;quot; (or keyword/subject) for the current page. Note that a tag may just refer to a major portion of the current page (i.e. a blog post). e.g. by placing this link on a page,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://technorati.com/tag/tech&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;tech&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the author indicates that the page (or some portion of the page) has the tag &amp;amp;quot;tech&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The linked page SHOULD exist, and it is the linked page, rather than the link text, that defines the tag. The last path component of the URL&lt;br /&gt;
is the text of the tag, so &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://technorati.com/tag/tech&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;fish&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would indicate the tag &amp;amp;quot;tech&amp;amp;quot; rather than &amp;amp;quot;fish&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
rel=&amp;amp;quot;tag&amp;amp;quot; is specifically designed for &amp;amp;quot;tagging&amp;amp;quot; content, typically web pages (or portions thereof, like blog posts).&lt;br /&gt;
&lt;br /&gt;
rel=&amp;amp;quot;tag&amp;amp;quot; is NOT designed for &amp;amp;quot;tagging&amp;amp;quot; arbitrary URLs or external content.  There is demand for a general decentralized syntax for tagging URLs external to the current page, but this is not meant for that.  See [[xfolk|xFolk]] and [[hreview|hReview]] for ways to tag arbitrary URLs.&lt;br /&gt;
&lt;br /&gt;
If you need to define tags as part of a more specialized format,  rel=&amp;amp;quot;tag&amp;amp;quot; is the recommended way to do so, and [[xfolk|xFolk]], [[hreview|hReview]], [[hcard |hCard]], [[hcalendar|hCalendar]] and [[hrecipe|hRecipe]] all do this.&lt;br /&gt;
&lt;br /&gt;
== XMDP profile ==&lt;br /&gt;
See [[rel-tag-profile]].&lt;br /&gt;
&lt;br /&gt;
== Tag Spaces ==&lt;br /&gt;
&lt;br /&gt;
Tags are embedded in HTTP URIs in a well-defined manner so that the tag embedded in an HTTP URI can be mechanically extracted from that URI. Specifically, the last segment of the path portion of the URI (after the final &amp;quot;/&amp;quot; character) contains the tag value. For example, the URI &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;http://www.example.com/tags/foo&amp;lt;/syntaxhighlight&amp;gt; contains the tag &amp;amp;quot;foo&amp;amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Thus, for the purposes of comparing two HTTP URIs as tags, the last segment of the path portion should be extracted and only that value (that value of the tag) should be compared.&lt;br /&gt;
&lt;br /&gt;
''Need more formal language about comparison and extraction process.''&lt;br /&gt;
&lt;br /&gt;
The destination of a rel=&amp;amp;quot;tag&amp;amp;quot; hyperlink is required to be a tag space (a place that collates or defines tags), where the last segment of the path of the URL is the tag, e.g. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;http://technorati.com/tag/tech&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is a URL for the tag &amp;amp;quot;tech&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Tags may only be placed in the URL path, and only in the last segment of the path.  Tags may not be placed in query parameters or fragment identifiers.  e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;http://technorati.com/tag/tech?tag=fish#emu&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is still a URL for the tag &amp;amp;quot;tech&amp;amp;quot;, not &amp;amp;quot;fish&amp;amp;quot; or &amp;amp;quot;emu&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Since the only part of a tag space URL of which any structure is required is the last path segment, a tag space URL can be hosted at any domain.  Authors may choose to link to a tag at a particular tag space in order to provide a specific meaning.  E.g. a tag for technology could link to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;  http://en.wikipedia.org/wiki/Technology&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trailing slashes in tag URLs are ignored, that is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;  http://technorati.com/tag/Technology/&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
as a rel-tag URL is treated as:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;  http://technorati.com/tag/Technology&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Encoding issues ==&lt;br /&gt;
Spaces can be encoded either as &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. Unicode characters are encoded as specified in [http://www.ietf.org/rfc/rfc3986.txt &amp;lt;nowiki&amp;gt;RFC 3986&amp;lt;/nowiki&amp;gt;]. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;http://technorati.com/tag/Sant%C3%A9+et+bien-%C3%AAtre&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Santé et bien-être&amp;lt;/a&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if using Wikipedia as a tagspace, as discussed above, you should use &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt; as they remap '+' to &amp;lt;code&amp;gt;%2B&amp;lt;/code&amp;gt;, causing  a page with a plus sign in the title (which usually does not exist) to appear.&lt;br /&gt;
&lt;br /&gt;
== Tags Are Visible Metadata ==&lt;br /&gt;
&amp;lt;code&amp;gt;rel=&amp;amp;quot;tag&amp;amp;quot;&amp;lt;/code&amp;gt; hyperlinks are intended to be visible links on pages and posts.  This is in stark contrast to meta keywords (which were invisible and typically never revealed to readers), and thus is at least somewhat more resilient to the problems which plagued meta keywords.&lt;br /&gt;
&lt;br /&gt;
Making tag hyperlinks visible has the additional benefit of making it more obvious to readers if a page is abusing tag links, and thus providing more peer pressure for better behavior.  It also makes it more obvious to authors, who may not always be aware what invisible metadata is being generated on their behalf.&lt;br /&gt;
&lt;br /&gt;
As a result the invisible tag link syntax variant: &amp;lt;code&amp;gt;&amp;lt;link rel=&amp;amp;quot;tag&amp;amp;quot; href=&amp;amp;quot;...&amp;amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; SHOULD NOT be supported by implementations.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''. The number of rel-tag examples in the wild has expanded far beyond the capacity of being kept inline in this specification. They have been moved to a [[rel-tag-examples-in-wild|separate page]].&lt;br /&gt;
&lt;br /&gt;
See [[rel-tag-examples-in-wild|rel-tag Examples in the wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse rel-tag links. If you have a rel-tag implementation, please add it to the '''top''' of this list. Once the list grows too big, we'll make a separate wiki page like [[rel-tag-implementations]].&lt;br /&gt;
&lt;br /&gt;
* [http://degoli.dajbych.net Degoli] is a simple experimental semantic web seach engine which is crawling rel-tag data. It orders search results by rel-tag data and displays a navigation tree containing relationships among tags.&lt;br /&gt;
* [http://b2evolution.net b2evolution] A blog platform which generates rel-tag for all tags on blog posts (starting from v3.x).&lt;br /&gt;
* [http://www.textcube.org Textcube.org] makes a blogging tool, Textcube which generates rel-tag for tags on blog posts.&lt;br /&gt;
* [http://hashtags.org/ HashTags] tags Twitter posts, converting &amp;quot;#example&amp;quot; into a tag of &amp;quot;example&amp;quot;&lt;br /&gt;
* [http://ikiwiki.info ikiwiki] generates rel-tag for all tagged pages (as of version 2.6)&lt;br /&gt;
* [http://www.hubtag.com HubTag] helps users find a unique tag across the web for their event - eg. JohnAndBettysWeddingWimbledonMarch07&lt;br /&gt;
* [http://www.necctar.com Necctar] is a search engine exclusively based on tag microformat parsing and processing. Necctar uses tags entered by bloggers to index the world wide web&lt;br /&gt;
* Nutch has a [[rel-tag]] parser [http://www.mail-archive.com/nutch-commits@lucene.apache.org/msg01014.html committed to their svn repository].&lt;br /&gt;
* [http://www.webstandards.org/action/dwtf/microformats/ Dreamweaver Extension suite] from the [http://webstandards.org/ Web Standards Project] enables rel-tagging from within Dreamweaver 8.&lt;br /&gt;
* [http://scooch.gr0w.com/ Scooch] slide show creator allows authors to generate rel-tags and group slide shows by rel-tag via a list or cloud with tag usage count.&lt;br /&gt;
* The Freetag plugin for the [http://www.s9y.org Serendipity] blog software supports rel-tags on a per-entry basis, as well as inside of its tag clouds.  (The Freetag plugin is available inside of SPARTACUS)&lt;br /&gt;
* [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding rel-tags and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].&lt;br /&gt;
* [http://www.rainskit.com/blog/493/trutags-a-tagging-plugin-for-textpattern tru_tags] is a plugin for [http://textpattern.com/ Textpattern] that supports rel-tagging blog posts via the Keywords field.&lt;br /&gt;
* [http://clothesonline.info ClothesOnline] uses rel-tag for categorizing shops and brands, for example: [http://clothesonline.info/brands/canada-goose Canada Goose].&lt;br /&gt;
* [http://news.livejournal.com/86492.html?thread=24881884 LiveJournal] - see also [http://www.livejournal.com/support/faq.bml?cat=tags their FAQ regarding their tags support]&lt;br /&gt;
* [http://trac.labnotes.org/cgi-bin/trac.cgi/wiki/TagsLinks TagsLinks] Turn each tag into links that let you find related content on tagging services.&lt;br /&gt;
* [http://www.octofinder.com OctoFinder] uses rel-tag for all live news tag clouds.&lt;br /&gt;
* [http://dev.wp-plugins.org/wiki/BunnysTechnoratiTags Tag plugin for WordPress]&lt;br /&gt;
** Note that some sites using WordPress (http://microformatique.com/ for instance) are getting incorrect tags. The tag is ?cat=12 instead of the actual tag value.&lt;br /&gt;
* [http://noone.org/blog/tags/Tagging Tag plugin for Blosxom]&lt;br /&gt;
* Technorati first implemented rel-tag in its [http://technorati.com/tag/ Technorati Tags] service. Technorati indexes rel-tag tags.&lt;br /&gt;
* [http://consumingexperience.blogspot.com/2005/12/updated-multiple-word-technorati-tag.html Greasemonkey script for Firefox that generates tags for Blogger]&lt;br /&gt;
* [http://tools.microformatic.com/help/xhtml/rel-lint/ rel-lint] is a validation tool by [[User:DrewMcLellan|Drew McLellan]] that will validate existence of rel-tag attributes.&lt;br /&gt;
&lt;br /&gt;
== articles ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
Articles about rel-tag, most recent first. When this section gets too big, we can move it to [[rel-tag-articles]].&lt;br /&gt;
* (undated) [http://reference.sitepoint.com/html/rel-mf#rel__tag SitePoint reference: rel- Microformats / tag] by Ian Lloyd&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/REC-html40/ HTML 4]&lt;br /&gt;
* [http://www.w3.org/TR/xhtml1/ XHTML 1]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* RFC 3986 specifies URL syntax.  Section 3.3 specifies URL paths and path segments.&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [[hreview|hReview]] uses rel-tag for tags and scalar tags&lt;br /&gt;
* [[xfolk|xFolk]] uses rel-tag to build a distributed remote resource tagging construct&lt;br /&gt;
* [http://developers.technorati.com/wiki/attentionxml Attention.XML] uses rel-tag for reader tagging of pages, posts, feeds&lt;br /&gt;
* [[hcard|hCard]] can use rel-tag for categories&lt;br /&gt;
* [[hcalendar|hCalendar]] can use rel-tag for categories&lt;br /&gt;
* [http://technorati.com/help/tags.html Using Technorati Tags]&lt;br /&gt;
* Contributed from http://developers.technorati.com/wiki/RelTag&lt;br /&gt;
* [http://microformatique.com/?p=61 Know your rel-tag] at microformatique.com&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
* Feedback is encouraged on the [[rel-tag-feedback]] page.&lt;br /&gt;
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
* History: [http://www.powazek.com/2005/07/000532.html How Tags Happened at Technorati] by [http://www.powazek.com/ Derek Powazek]&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about rel-tag, check the [[rel-faq|rel FAQ]] first for general rel attribute questions, then check the [[rel-tag-faq|rel-tag FAQ]], and then if you don't find answers, ask your question on the [http://microformats.org/discuss microformats-discuss] mailing list.&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
{{rel-tag-related-pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:rel-tag]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=h-listing&amp;diff=70575</id>
		<title>h-listing</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=h-listing&amp;diff=70575"/>
		<updated>2022-11-13T21:56:02Z</updated>

		<summary type="html">&lt;p&gt;GRegorLove: s/&amp;lt;source&amp;gt;/&amp;lt;syntaxhighlight&amp;gt;/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:h-listing draft}}&lt;br /&gt;
{{DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dfn style=&amp;quot;font-style:normal;font-weight:bold&amp;quot;&amp;gt;h-listing&amp;lt;/dfn&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
h-Listing is the [[microformats2]] update to [[hListing]].&lt;br /&gt;
&lt;br /&gt;
{{cc0-owfa-license}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Draft Proposal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Editors===&lt;br /&gt;
* [[User:Tantek|Tantek Çelik]]&lt;br /&gt;
* [[User:TomMorris|Tom Morris]]&lt;br /&gt;
* [[User:ChiefRA|Arthur Rădulescu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Authors and Contributors===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Inspiration and Acknowledgments ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Scope ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== In General ===&lt;br /&gt;
The h-listing 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.&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
(Not yet finished)&lt;br /&gt;
&lt;br /&gt;
The class '''&amp;lt;code&amp;gt;h-listing&amp;lt;/code&amp;gt;''' is a ''root class name'' that indicates the presence of an h-Listing.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;h-listing&amp;lt;/kbd&amp;gt;: root&lt;br /&gt;
** &amp;lt;kbd&amp;gt;p-lister&amp;lt;/kbd&amp;gt;: [[h-card]]&lt;br /&gt;
** &amp;lt;kbd&amp;gt;dt-listed&amp;lt;/kbd&amp;gt;: datetime, optional&lt;br /&gt;
** &amp;lt;kbd&amp;gt;dt-expired&amp;lt;/kbd&amp;gt;: datetime, optional&lt;br /&gt;
** &amp;lt;kbd&amp;gt;p-price&amp;lt;/kbd&amp;gt;: text, optional (should include a floating-point number with optional ISO currency codes)&lt;br /&gt;
** &amp;lt;kbd&amp;gt;p-category&amp;lt;/kbd&amp;gt;: text, optional, zero or more&lt;br /&gt;
** &amp;lt;kbd&amp;gt;p-action&amp;lt;/kbd&amp;gt;: text, optional, one of the following values&lt;br /&gt;
*** sell, rent, trade, meet, announce, offer, wanted, event, service&lt;br /&gt;
** &amp;lt;kbd&amp;gt;u-url&amp;lt;/kbd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Summary of Changes ====&lt;br /&gt;
* Modified to use [[microformats-2]].&lt;br /&gt;
* The &amp;lt;kbd&amp;gt;version&amp;lt;/kbd&amp;gt; property from [[hListing]] has been deprecated. No hListing markup (even in example files used by parsers) has ever been presented that actually uses the version property, nor any enumeration of valid values. No other microformat thus far has had a version property, and explicit versioning seems like clumsy design: any future changes to the specification should be made in such a way as to support existing content and degrade gracefully per the [http://www.w3.org/TR/html-design-principles/#compatibility design principles of HTML].&lt;br /&gt;
* The &amp;lt;kbd&amp;gt;dtlisted&amp;lt;/kbd&amp;gt; and &amp;lt;kbd&amp;gt;dtexpired&amp;lt;/kbd&amp;gt; properties are prefixed with &amp;lt;kbd&amp;gt;dt-&amp;lt;/kbd&amp;gt; in microformats2 anyway, so no duplication of the &amp;lt;kbd&amp;gt;dt&amp;lt;/kbd&amp;gt; is needed.&lt;br /&gt;
* &amp;lt;kbd&amp;gt;lister&amp;lt;/kbd&amp;gt; must contain an embedded &amp;lt;kbd&amp;gt;[[h-card]]&amp;lt;/kbd&amp;gt; object for simplicity—the [[microformats-2-parsing]] specification would need to be modified to specify any optimisations there.&lt;br /&gt;
* The use of [[rel-tag]] has been deprecated due to the &amp;lt;kbd&amp;gt;rel&amp;lt;/kbd&amp;gt; attribute being defined as document scoped in HTML5. Following on from the example of &amp;lt;kbd&amp;gt;[[h-entry]]&amp;lt;/kbd&amp;gt;, &amp;lt;kbd&amp;gt;category&amp;lt;/kbd&amp;gt; seems the ideal mapping.&lt;br /&gt;
* &amp;lt;kbd&amp;gt;permalink&amp;lt;/kbd&amp;gt; has been replaced with &amp;lt;kbd&amp;gt;url&amp;lt;/kbd&amp;gt; following [[h-entry]].&lt;br /&gt;
&lt;br /&gt;
==Property Details==&lt;br /&gt;
&lt;br /&gt;
h-Listing property details:&lt;br /&gt;
&lt;br /&gt;
==Authoring guidelines==&lt;br /&gt;
&lt;br /&gt;
=== action type internationalisation ===&lt;br /&gt;
One issue with hard-coded action types is it prevents internationalisation.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;kbd&amp;gt;p-&amp;lt;/kbd&amp;gt; value [[microformats-2-parsing#parsing_a_p-_property|parsing algorithm]] can be used to provide an alternative text description in a non-English language, at the cost of introducing [[invisible data]].&lt;br /&gt;
&lt;br /&gt;
For instance, one could use a &amp;lt;kbd&amp;gt;data&amp;lt;/kbd&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;h-listing&amp;quot; lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h1&amp;gt;&amp;lt;data class=&amp;quot;action&amp;quot; value=&amp;quot;sale&amp;quot;&amp;gt;À vendre&amp;lt;/data&amp;gt;! &amp;lt;span class=&amp;quot;summary&amp;quot;&amp;gt;Belle usine widget pour produire widgets magique et révolutionnaire&amp;lt;/span&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Challenges and problems ===&lt;br /&gt;
&lt;br /&gt;
See [[h-listing-challenges|h-Listing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.&lt;br /&gt;
&lt;br /&gt;
* If no action is specified, should parsers assume the 'sale' property? A listing with no action seems less than useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples in the Wild ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following sites have implemented [[h-listing]], and thus are a great place to start for anyone looking for examples &amp;quot;in the wild&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Once the list grows too big, we'll make a separate wiki page like [[h-listing-examples-in-wild]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== implementations ==&lt;br /&gt;
Please add links to sites that consume h-listings, and tools which generate h-listings.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Unlike [[hCard]], [[hCalendar]], [[hReview]] and other microformats, hListing has not been nearly as widely adopted. A number of inconsistencies and unclear properties has led to difficulty by page authors to implement the microformat.&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
* Feedback is encouraged on the [[h-listing-feedback]] page.&lt;br /&gt;
&lt;br /&gt;
===Internationalization===&lt;br /&gt;
''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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also==&lt;br /&gt;
* [[h-listing]], a draft reboot of hListing based on [[microformats-2]]&lt;br /&gt;
* [[h-listing-issues]]&lt;br /&gt;
* [[h-listing-feedback]]&lt;br /&gt;
* [[h-listing-brainstorming]]&lt;br /&gt;
* [[commerce-examples]]&lt;br /&gt;
* [[currency]] proposal&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;/div&gt;</summary>
		<author><name>GRegorLove</name></author>
	</entry>
</feed>