In general the hCard and hCalendar are working well, but the hResume needs some work.
1- The education and experience are currently mark-up as:
<div class="vcard vevent">
You need to add the compound class name like so
<div class="vcard vevent education">
<div class="vcard vevent experience">
2- As you are using linkedin.com pattern combining hCard and hCalendar together for education and experience it’s a good idea mark-up all the data items for both schemas.
<div class="statement note">
Should also include the description from hCalendar
<div class="statement note description">
3- You need to mark-up the summary for hResume. Summary is the word use in CV where as the US use the word objectives, means the same thing.
<div class="intro-statement statement">
Should also include the summary from hResume
<div class="intro-statement statement summary">
4- Although it not called for in the specification is very useful to mark-up the hCard that carries the main contact information. Some parsers will not find it otherwise
<div class="intro-wrapper vcard">
Should also include the contact from hResume
<div class="intro-wrapper vcard contact">
5- The biggest issue is the dtStart and the dtEnd, these should be in the ISO datetime format yyyy-mm-dd etc. Unlike adr there is no label property to display a text formatted version of a date it has to be in a machine readable format
<div class="header-time dtstart dtend">April 2006 - May 2008</div>
Should be
<div class="header-time">
<span class='dtstart'>
<span class='value-title' title='2006-04'>July 2006</span>
</span> -
<span class='dtend'>
<span class='value-title' title='2008-05'>May 2008</span>
</span>
</div>
The convention is that if there is no dtend property for an hCalendar the event is considered ongoing
<div class="header-time dtstart dtend">April 2006 - Current</div>
Should be
<div class="header-time">
<span class='dtstart'>
<span class='value-title' title='2006-04'>July 2006</span>
</span> - Current
</div>
If you have date data that already fits the ISO format you can place directly in the text of an element
<div class="header-time dtstart dtend"> 2006 - 2008</div>
Should be
<div class="header-time">
<span class='dtstart'>2006</span> -
<span class='dtend'>2008</span>
</div>
If you need a parser to try this out against try http://ufxtract.com/
I would be more than happy to help out with the mark-up. I have had a lot of experience both creating and parsing all three of the formats you’re using.
Glenn Jones
PS thanks for taking the time and effort for doing this