[html5] r4070 - [] (0) Split out the microdata vocabularies into their own specs

whatwg at whatwg.org whatwg at whatwg.org
Sun Oct 4 03:23:23 PDT 2009


Author: ianh
Date: 2009-10-04 03:23:22 -0700 (Sun, 04 Oct 2009)
New Revision: 4070

Added:
   vocabs-index
Modified:
   index
   source
Log:
[] (0) Split out the microdata vocabularies into their own specs

Modified: index
===================================================================
--- index	2009-10-04 08:50:10 UTC (rev 4069)
+++ index	2009-10-04 10:23:22 UTC (rev 4070)
@@ -73507,9 +73507,11 @@
     <tr><td> <code title=event-load>load</code>
      <td> The element or page has finished loading
     <tr><td class=XXX colspan=2> ...
-  </table><h2 class=no-num id=references>References</h2><!--REFS-->
+  </table><!--START vCard--><!--START vEvent--><h2 class=no-num id=references>References</h2><!--REFS-->
 
+<!--END vCard--><!--END vEvent-->
   <p>All references are normative unless marked "Non-normative".</p>
+<!--START vCard--><!--START vEvent-->
 
   <dl><dt id=refsABNF>[ABNF]</dt>
    <dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented
@@ -74099,7 +74101,7 @@
    Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C,
    November 1999.</dd>
 
-  </dl><h2 class=no-num id=acknowledgements>Acknowledgements</h2> <!-- ACKS -->
+  </dl><!--END vCard--><!--END vEvent--><h2 class=no-num id=acknowledgements>Acknowledgements</h2> <!-- ACKS -->
 
   <p>Thanks to
 

Modified: source
===================================================================
--- source	2009-10-04 08:50:10 UTC (rev 4069)
+++ source	2009-10-04 10:23:22 UTC (rev 4070)
@@ -50134,10 +50134,32 @@
 
 <!--START vocabs-->
 
+  <h3 class="no-num no-toc">Table of contents</h3>
+  <!--toc-->
+  <hr>
+
+  <h4>Introduction</h4>
+
+  <p>This specification defines microdata vocabularies. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+
   <h4>vCard</h4>
 
+<!--END vocabs-->
 <!--START vCard-->
 
+  <h4 class="no-num no-toc">Table of contents</h4>
+  <!--toc-->
+  <hr>
+
+  <h5>The vocabulary</h5>
+
+  <p>This section defines a microdata vocabulary. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+<!--START vocabs-->
+
   <p>An item with the <span>item type</span> <dfn
   title="md-vcard"><code>http://microformats.org/profile/hcard</code></dfn>
   represents a person's or organization's contact information.</p>
@@ -52378,10 +52400,22 @@
 
   <h4>vEvent</h4>
 
+<!--END vocabs-->
 <!--START vEvent-->
 
+  <h4 class="no-num no-toc">Table of contents</h4>
+  <!--toc-->
+  <hr>
+
+  <h5>The vocabulary</h5>
+
+  <p>This section defines a microdata vocabulary. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+<!--START vocabs-->
+
   <p>An item with the <span>item type</span> <dfn
-  title="md-vevent"><code>http://microformats.org/profile/hcalendar</code></dfn>
+  title="md-vevent"><code>http://microformats.org/profile/hcalendar#vevent</code></dfn>
   represents an event.</p>
 
   <p>The following are the type's <span title="defined property
@@ -52409,7 +52443,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-attach">attach</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52427,7 +52461,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-categories">categories</code> may be present
     within each <span title="concept-item">item</span> with the type
-    <code title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    <code title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52454,7 +52488,7 @@
     <p>A single property with the name <code
     title="md-vevent-class">class</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52471,7 +52505,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-comment">comment</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52488,7 +52522,7 @@
     <p>A single property with the name <code
     title="md-vevent-description">description</code> may be present
     within each <span title="concept-item">item</span> with the type
-    <code title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    <code title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52545,7 +52579,7 @@
     <p>A single property with the name <code
     title="md-vevent-geo">geo</code> may be present within each <span
     title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52562,7 +52596,7 @@
     <p>A single property with the name <code
     title="md-vevent-location">location</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52582,7 +52616,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-resources">resources</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52605,7 +52639,7 @@
     <p>A single property with the name <code
     title="md-vevent-status">status</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52626,7 +52660,7 @@
     <p>A single property with the name <code
     title="md-vevent-summary">summary</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52640,7 +52674,7 @@
     <p>If the property with the name <code
     title="md-vevent-dtend">dtend</code> is present within an <span
     title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
     that has a property with the name <code
     title="md-vevent-dtstart">dtstart</code> whose value is a
     <span>valid date string</span>, then the <span
@@ -52666,9 +52700,9 @@
     <p>A single property with the name <code
     title="md-vevent-dtend">dtend</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>,
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
     so long as that <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
     does not have a property with the name <code
     title="md-vevent-duration">duration</code>.</p>
 
@@ -52688,7 +52722,7 @@
     <p>Exactly one property with the name <code
     title="md-vevent-dtstart">dtstart</code> must be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52708,9 +52742,9 @@
     <p>A single property with the name <code
     title="md-vevent-duration">duration</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>,
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
     so long as that <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
     does not have a property with the name <code
     title="md-vevent-dtend">dtend</code>.</p>
 
@@ -52735,7 +52769,7 @@
     <p>A single property with the name <code
     title="md-vevent-transp">transp</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52756,7 +52790,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-contact">contact</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52785,7 +52819,7 @@
     <p>A single property with the name <code
     title="md-vevent-url">url</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52807,7 +52841,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-exdate">exdate</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52826,7 +52860,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-exrule">exrule</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52859,7 +52893,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-rdate">rdate</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52878,7 +52912,7 @@
     <p>Any number of properties with the name <code
     title="md-vevent-rrule">rrule</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52896,7 +52930,7 @@
     <p>A single property with the name <code
     title="md-vevent-created">created</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52917,7 +52951,7 @@
     <p>A single property with the name <code
     title="md-vevent-last-modified">last-modified</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -52934,7 +52968,7 @@
     <p>A single property with the name <code
     title="md-vevent-sequence">sequence</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
@@ -53013,7 +53047,7 @@
 
    <li><p>If none of the nodes in <var title="">nodes</var> are <span
    title="concept-item">items</span> with the type <code
-   title="md-vevent">http://microformats.org/profile/hcalendar</code>,
+   title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
    then there is no vEvent data. Abort the algorithm, returning
    nothing.</p></li>
 
@@ -53037,7 +53071,7 @@
     <p>For each node <var title="">node</var> in <var
     title="">nodes</var> that is an <span
     title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>,
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
     run the following steps:</p>
 
     <ol>
@@ -53241,7 +53275,7 @@
   <p class="note">This algorithm can generate invalid iCalendar
   output, if the input does not conform to the rules described for the
   <code
-  title="md-vevent">http://microformats.org/profile/hcalendar</code>
+  title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
   <span>item type</span> and <span title="defined property
   name">defined property names</span>.</p> <!-- of course since
   iCalendar doesn't define error handling, this is somewhat
@@ -53258,7 +53292,7 @@
    <p>Here is an example of a page that uses the vEvent vocabulary to
    mark up an event:</p>
 
-   <pre><body item="http://microformats.org/profile/hcalendar">
+   <pre><body itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
  ...
  <h1 itemprop="summary">Bluesday Tuesday: Money Road</h1>
  ...
@@ -53280,7 +53314,7 @@
    this:</p>
 
    <pre>function getCalendar(node) {
-  while (node && (!node.nodeScope || !node.itemType == 'http://microformats.org/profile/hcalendar'))
+  while (node && (!node.nodeScope || !node.itemType == 'http://microformats.org/profile/hcalendar#vevent'))
     node = node.parentNode;
   if (!node) {
     alert('No event data found.');
@@ -53321,7 +53355,7 @@
    <p>The same page could offer some markup, such as the following,
    for copy-and-pasting into blogs:</p>
 
-   <pre><div itemscope itemtype="http://microformats.org/profile/hcalendar">
+   <pre><div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
  <p>I'm going to
  <strong itemprop="summary">Bluesday Tuesday: Money Road</strong>,
  <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th at 7pm</time>
@@ -53338,8 +53372,20 @@
 
   <h4>Licensing works</h4>
 
+<!--END vocabs-->
 <!--START work-->
 
+  <h4 class="no-num no-toc">Table of contents</h4>
+  <!--toc-->
+  <hr>
+
+  <h5>The vocabulary</h5>
+
+  <p>This section defines a microdata vocabulary. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+<!--START vocabs-->
+
   <p>An item with the <span>item type</span> <dfn
   title="md-work"><code>http://n.whatwg.org/work</code></dfn>
   represents a work (e.g. an article, an image, a video, a song,
@@ -53459,8 +53505,8 @@
    Alike 3.0 United States License and the MIT license
    simultaneously.</p>
 
-   <pre><figure <strong>item="work"</strong>>
- <dd><img <strong>itemprop="about"</strong> src="mypond.jpeg">
+   <pre><figure <strong>itemscope itemtype="http://n.whatwg.org/work"</strong>>
+ <dd><img <strong>itemprop="work"</strong> src="mypond.jpeg">
  <dt>
   <p><cite <strong>itemprop="title"</strong>>My Pond</cite></p>
   <p><small>Licensed under the <a <strong>itemprop="license"</strong>
@@ -90429,11 +90475,13 @@
 
 
 <!--START websocket-api--><!--START storage--><!--START database--><!--START eventsource--><!--START workers-->
+<!--START vocabs--><!--START vCard--><!--START vEvent--><!--START work-->
 
-
   <h2 class="no-num" id="references">References</h2><!--REFS-->
 
+<!--END vocabs--><!--END vCard--><!--END vEvent--><!--END work-->
   <p>All references are normative unless marked "Non-normative".</p>
+<!--START vocabs--><!--START vCard--><!--START vEvent--><!--START work-->
 
   <dl>
 <!--REFERENCES ON-->
@@ -91148,6 +91196,7 @@
 <!--REFERENCES OFF-->
   </dl>
 
+<!--END vocabs--><!--END vCard--><!--END vEvent--><!--END work-->
 <!--END websocket-api--><!--END storage--><!--END database--><!--END eventsource--><!--END workers-->
 
 

Added: vocabs-index
===================================================================
--- vocabs-index	                        (rev 0)
+++ vocabs-index	2009-10-04 10:23:22 UTC (rev 4070)
@@ -0,0 +1,2826 @@
+<!DOCTYPE html><html lang="en-US-x-hixie"><meta charset="ascii"><title>Microdata Vocabularies: vCard, vEvent, and works</title><link href="/style/specification" rel="stylesheet"><link href="/images/icon" rel="icon"><style type="text/css">
+
+   .applies thead th > * { display: block; }
+   .applies thead code { display: block; }
+   .applies tbody th { whitespace: nowrap; }
+   .applies td { text-align: center; }
+   .applies .yes { background: yellow; }
+
+   .matrix, .matrix td { border: none; text-align: right; }
+   .matrix { margin-left: 2em; }
+
+   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
+   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
+   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
+
+   #table-example-1 { border: solid thin; border-collapse: collapse; margin-left: 3em; }
+   #table-example-1 * { font-family: "Essays1743", serif; line-height: 1.01em; }
+   #table-example-1 caption { padding-bottom: 0.5em; }
+   #table-example-1 thead, #table-example-1 tbody { border: none; }
+   #table-example-1 th, #table-example-1 td { border: solid thin; }
+   #table-example-1 th { font-weight: normal; }
+   #table-example-1 td { border-style: none solid; vertical-align: top; }
+   #table-example-1 th { padding: 0.5em; vertical-align: middle; text-align: center; }
+   #table-example-1 tbody tr:first-child td { padding-top: 0.5em; }
+   #table-example-1 tbody tr:last-child td { padding-bottom: 1.5em; }
+   #table-example-1 tbody td:first-child { padding-left: 2.5em; padding-right: 0; width: 9em; }
+   #table-example-1 tbody td:first-child::after { content: leader(". "); }
+   #table-example-1 tbody td { padding-left: 2em; padding-right: 2em; }
+   #table-example-1 tbody td:first-child + td { width: 10em; }
+   #table-example-1 tbody td:first-child + td ~ td { width: 2.5em; }
+   #table-example-1 tbody td:first-child + td + td + td ~ td { width: 1.25em; }
+
+   .apple-table-examples { border: none; border-collapse: separate; border-spacing: 1.5em 0em; width: 40em; margin-left: 3em; }
+   .apple-table-examples * { font-family: "Times", serif; }
+   .apple-table-examples td, .apple-table-examples th { border: none; white-space: nowrap; padding-top: 0; padding-bottom: 0; }
+   .apple-table-examples tbody th:first-child { border-left: none; width: 100%; }
+   .apple-table-examples thead th:first-child ~ th { font-size: smaller; font-weight: bolder; border-bottom: solid 2px; text-align: center; }
+   .apple-table-examples tbody th::after, .apple-table-examples tfoot th::after { content: leader(". ") }
+   .apple-table-examples tbody th, .apple-table-examples tfoot th { font: inherit; text-align: left; }
+   .apple-table-examples td { text-align: right; vertical-align: top; }
+   .apple-table-examples.e1 tbody tr:last-child td { border-bottom: solid 1px; }
+   .apple-table-examples.e1 tbody + tbody tr:last-child td { border-bottom: double 3px; }
+   .apple-table-examples.e2 th[scope=row] { padding-left: 1em; }
+   .apple-table-examples sup { line-height: 0; }
+
+  </style><body class="draft">
+
+  <div class="head">
+   <p><a class="logo" href="http://www.whatwg.org/" rel="home"><img alt="WHATWG" src="/images/logo"></a></p>
+   <h1>Microdata Vocabularies: vCard, vEvent, and works</h1>
+   <h2 class="no-num no-toc" id="draft-standard-4-october-2009">Draft Standard — 4 October 2009</h2>
+   <p>You can take part in this work. <a href="http://www.whatwg.org/mailing-list">Join the working group's discussion list.</a></p>
+   <dl><dt>This specification:</dt>
+    <dd><a href="http://www.whatwg.org/specs/web-apps/current-work/">http://www.whatwg.org/specs/web-apps/current-work/</a></dd>
+    <dt>Version history:</dt>
+    <dd>Twitter messages (non-editorial changes only): <a href="http://twitter.com/WHATWG">http://twitter.com/WHATWG</a></dd>
+    <dd>Commit-Watchers mailing list: <a href="http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org">http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org</a></dd>
+    <dd>Interactive Web interface: <a href="http://html5.org/tools/web-apps-tracker">http://html5.org/tools/web-apps-tracker</a></dd>
+    <dd>Subversion interface: <a href="http://svn.whatwg.org/">http://svn.whatwg.org/</a></dd>
+    <dt>Issues:</dt>
+    <dd>To send feedback: <a href="http://www.whatwg.org/mailing-list">whatwg at whatwg.org</a></dd>
+    <dd>To view and vote on feedback: <a href="http://www.whatwg.org/issues/">http://www.whatwg.org/issues/</a></dd>
+    <dt>Editor:</dt>
+    <dd>Ian Hickson, Google, ian at hixie.ch</dd>
+   </dl><p class="copyright">© Copyright 2004-2009 Apple Computer, Inc.,
+   Mozilla Foundation, and Opera Software ASA.</p>
+   <p class="copyright">You are granted a license to use, reproduce
+   and create derivative works of this document.</p>
+  </div>
+
+  <hr><h2 class="no-num no-toc" id="abstract">Abstract</h2>
+
+  <p>This specification defines some microdata item types and their
+  defined property names. Three vocabularies are defined: one for
+  marking up contact information, one for marking up events, and one
+  for marking up authorship and licensing information for works.</p>
+
+
+  <h2 class="no-num no-toc" id="status">Status of this document</h2>
+
+  <p><strong>This is a work in progress!</strong> This document is
+  changing on a daily if not hourly basis in response to comments and
+  as a general part of its development process. Comments are very
+  welcome, please send them to <a href="mailto:whatwg at whatwg.org">whatwg at whatwg.org</a>. Thank
+  you.</p>
+
+  <p>The current focus is in responding to the <a href="http://www.whatwg.org/issues/">outstanding
+  feedback</a>. (There is <a href="http://www.whatwg.org/issues/data.html">a chart</a> showing
+  current progress.)</p>
+
+  <p>Implementors should be aware that this specification is not
+  stable. <strong>Implementors who are not taking part in the
+  discussions are likely to find the specification changing out from
+  under them in incompatible ways.</strong> Vendors interested in
+  implementing this specification before it eventually reaches the
+  call for implementations should join the <a href="/mailing-list">WHATWG mailing list</a> and take part in the
+  discussions.</p>
+
+  <p>This specification is also being produced (in three parts) by the
+  <a href="http://www.w3.org/html/wg">W3C HTML WG</a>. This
+  specification and the corresponding W3C specifications are generated
+  from the same source document and as such have the same content.</p>
+  <h3 class="no-num no-toc" id="table-of-contents">Table of contents</h3>
+  
+<!--begin-toc-->
+<ol class="toc">
+ <li><a href="#introduction"><span class="secno">1 </span>Introduction</a></li>
+ <li><a href="#vcard"><span class="secno">2 </span>vCard</a>
+  <ol>
+   <li><a href="#conversion-to-vcard"><span class="secno">2.1 </span>Conversion to vCard</a></li>
+   <li><a href="#examples"><span class="secno">2.2 </span>Examples</a></ol></li>
+ <li><a href="#vevent"><span class="secno">3 </span>vEvent</a>
+  <ol>
+   <li><a href="#conversion-to-icalendar"><span class="secno">3.1 </span>Conversion to iCalendar</a></li>
+   <li><a href="#examples-0"><span class="secno">3.2 </span>Examples</a></ol></li>
+ <li><a href="#licensing-works"><span class="secno">4 </span>Licensing works</a>
+  <ol>
+   <li><a href="#conversion-to-rdf"><span class="secno">4.1 </span>Conversion to RDF</a></li>
+   <li><a href="#examples-1"><span class="secno">4.2 </span>Examples</a></ol></li>
+ <li><a class="no-num" href="#references">References</a></ol>
+<!--end-toc-->
+  <hr><h2 id="introduction"><span class="secno">1 </span>Introduction</h2>
+
+  <p>This specification defines microdata vocabularies. <a href="#refsHTML5">[HTML5]</a></p>
+
+
+  <h2 id="vcard"><span class="secno">2 </span>vCard</h2>
+
+
+  <p>An item with the <span>item type</span> <dfn id="md-vcard" title="md-vcard"><code>http://microformats.org/profile/hcard</code></dfn>
+  represents a person's or organization's contact information.</p>
+
+  <p>The following are the type's <span title="defined property
+  name">defined property names</span>. They are based on the
+  vocabulary defined in the vCard specification and its extensions,
+  where more information on how to interpret the values can be
+  found. <a href="#refsRFC2426">[RFC2426]</a> <a href="#refsRFC4770">[RFC4770]</a></p>
+
+  <dl><dt><dfn id="md-vcard-fn" title="md-vcard-fn"><code>fn</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the formatted text corresponding to the name of the
+    person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Exactly one property with the name <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> must be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-n" title="md-vcard-n"><code>n</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the structured name of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span title="concept-item">item</span> with zero or more of
+    each of the <code title="md-vcard-n-family-name"><a href="#md-vcard-n-family-name">family-name</a></code>, <code title="md-vcard-n-given-name"><a href="#md-vcard-n-given-name">given-name</a></code>, <code title="md-vcard-n-additional-name"><a href="#md-vcard-n-additional-name">additional-name</a></code>, <code title="md-vcard-n-honorific-prefix"><a href="#md-vcard-n-honorific-prefix">honorific-prefix</a></code>, and
+    <code title="md-vcard-n-honorific-suffix"><a href="#md-vcard-n-honorific-suffix">honorific-suffix</a></code>
+    properties.</p>
+
+    <p>Except when one of the conditions given below applies, exactly
+    one property with the name <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> must
+    be present within each <span title="concept-item">item</span> with
+    the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+    <p>If one of the following conditions does apply, then the <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> may be omitted:</p>
+
+    <dl><dt>The <span title="concept-item">item</span> with the type
+     <code title="">vcard</code> has both an <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> property and an <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code> property, and they both have
+     <span title="concept-property-value">values</span> that are
+     strings and those strings are identical when compared in a
+     <span>case-sensitive</span> manner.</dt>
+
+     <dd>
+
+      <p>The contact information must be for an organization.</p>
+
+     </dd>
+
+     <dt>The <span title="concept-item">item</span> with the type
+     <code title="">vcard</code> has an <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> property whose <span title="concept-property-value">value</span> consists of a string
+     with zero <span title="space character">space
+     characters</span>.</dt>
+
+     <dd>
+
+      <p>The <span title="concept-property-value">value</span> of the
+      <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> property must be a
+      nickname.</p>
+
+     </dd>
+
+     <dt>The <span title="concept-item">item</span> with the type
+     <code title="">vcard</code> has an <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> property whose <span title="concept-property-value">value</span> consists of a string
+     with exactly one sequence of <span title="space character">space
+     characters</span>, which occurs neither at the immediate start
+     nor the immediate end of the string.</dt>
+
+     <dd>
+
+      <p>The <span title="concept-property-value">value</span> of the
+      <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> property must be a name in
+      one of the following forms:</p>
+
+      <ul class="brief"><li>Last, First</li>
+
+       <li>Last F.</li>
+
+       <li>Last F</li>
+
+       <li>First Last</li>
+
+      </ul></dd>
+
+    </dl></dd>
+
+   <dt><dfn id="md-vcard-n-family-name" title="md-vcard-n-family-name"><code>family-name</code></dfn> (inside <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the family name of the person, or the full name of the
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-n-family-name"><a href="#md-vcard-n-family-name">family-name</a></code> may be present
+    within the <span title="concept-item">item</span> that forms the
+    <span title="concept-property-value">value</span> of the <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-n-given-name" title="md-vcard-n-given-name"><code>given-name</code></dfn> (inside <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the given-name of the person.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-n-given-name"><a href="#md-vcard-n-given-name">given-name</a></code> may be present
+    within the <span title="concept-item">item</span> that forms the
+    <span title="concept-property-value">value</span> of the <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-n-additional-name" title="md-vcard-n-additional-name"><code>additional-name</code></dfn> (inside <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the any additional names of the person.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-n-additional-name"><a href="#md-vcard-n-additional-name">additional-name</a></code> may be
+    present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of the
+    <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-n-honorific-prefix" title="md-vcard-n-honorific-prefix"><code>honorific-prefix</code></dfn> (inside <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the honorific prefix of the person.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-n-honorific-prefix"><a href="#md-vcard-n-honorific-prefix">honorific-prefix</a></code> may be
+    present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of the
+    <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-n-honorific-suffix" title="md-vcard-n-honorific-suffix"><code>honorific-suffix</code></dfn> (inside <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the honorific suffix of the person.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-n-honorific-suffix"><a href="#md-vcard-n-honorific-suffix">honorific-suffix</a></code> may be
+    present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of the
+    <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-nickname" title="md-vcard-nickname"><code>nickname</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the nickname of the person or organization.</p>
+
+    <!-- copied from vCard -->
+    <p class="note">The nickname is the descriptive name given instead
+    of or in addition to the one belonging to a person, place, or
+    thing. It can also be used to specify a familiar form of a proper
+    name specified by the <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> or <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code> properties.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-nickname"><a href="#md-vcard-nickname">nickname</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-photo" title="md-vcard-photo"><code>photo</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a photograph of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-photo"><a href="#md-vcard-photo">photo</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-bday" title="md-vcard-bday"><code>bday</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the birth date of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be a
+    <span>valid date string</span>.</p>
+
+    <p>A single property with the name <code title="md-vcard-bday"><a href="#md-vcard-bday">bday</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-adr" title="md-vcard-adr"><code>adr</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the delivery address of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span title="concept-item">item</span> with zero or more <code title="md-vcard-adr-type"><a href="#md-vcard-adr-type">type</a></code>, <code title="md-vcard-adr-post-office-box"><a href="#md-vcard-adr-post-office-box">post-office-box</a></code>, <code title="md-vcard-adr-extended-address"><a href="#md-vcard-adr-extended-address">extended-address</a></code>, and
+    <code title="md-vcard-adr-street-address"><a href="#md-vcard-adr-street-address">street-address</a></code>
+    properties, and optionally a <code title="md-vcard-adr-locality"><a href="#md-vcard-adr-locality">locality</a></code> property, optionally
+    a <code title="md-vcard-adr-region"><a href="#md-vcard-adr-region">region</a></code> property,
+    optionally a <code title="md-vcard-adr-postal-code"><a href="#md-vcard-adr-postal-code">postal-code</a></code> property, and
+    optionally a <code title="md-vcard-adr-country-name"><a href="#md-vcard-adr-country-name">country-name</a></code>
+    property.</p>
+
+    <p>If no <code title="md-vcard-adr-type"><a href="#md-vcard-adr-type">type</a></code> properties
+    are present within an <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, then the <a href="#address-type-strings">address type
+    strings</a> <code title="mv-vcard-type-adr-intl">intl</code>,
+    <code title="mv-vcard-type-adr-postal">postal</code>, <code title="mv-vcard-type-adr-parcel">parcel</code>, and <code title="mv-vcard-type-adr-work">work</code> are implied.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-type" title="md-vcard-adr-type"><code>type</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the type of delivery address.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that, when compared in a <span>case-sensitive</span> manner,
+    is equal to one of the <a href="#address-type-strings">address type strings</a>.</p>
+
+    <p>Within each <span title="concept-item">item</span> with the
+    type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, there must be no more
+    than one <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property <span title="concept-item">item</span> with a <code title="md-vcard-adr-type"><a href="#md-vcard-adr-type">type</a></code> property whose value is
+    <code title="md-vcard-type-adr-pref"><a href="#md-vcard-type-adr-pref">pref</a></code>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-adr-type"><a href="#md-vcard-adr-type">type</a></code> may be present within the
+    <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of an <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, but within each such <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property <span title="concept-item">item</span> there must only be one <code title="md-vcard-adr-type"><a href="#md-vcard-adr-type">type</a></code> property per distinct
+    value.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-post-office-box" title="md-vcard-adr-post-office-box"><code>post-office-box</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the post office box component of the delivery address of
+    the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-adr-post-office-box"><a href="#md-vcard-adr-post-office-box">post-office-box</a></code> may be
+    present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-extended-address" title="md-vcard-adr-extended-address"><code>extended-address</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives an additional component of the delivery address of the
+    person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-adr-extended-address"><a href="#md-vcard-adr-extended-address">extended-address</a></code> may
+    be present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-street-address" title="md-vcard-adr-street-address"><code>street-address</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the street address component of the delivery address of
+    the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-adr-street-address"><a href="#md-vcard-adr-street-address">street-address</a></code> may be
+    present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-locality" title="md-vcard-adr-locality"><code>locality</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the locality component (e.g. city) of the delivery
+    address of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>A single property with the name <code title="md-vcard-adr-locality"><a href="#md-vcard-adr-locality">locality</a></code> may be present
+    within the <span title="concept-item">item</span> that forms the
+    <span title="concept-property-value">value</span> of an <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-region" title="md-vcard-adr-region"><code>region</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the region component (e.g. state or province) of the
+    delivery address of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>A single property with the name <code title="md-vcard-adr-region"><a href="#md-vcard-adr-region">region</a></code> may be present within
+    the <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of an <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-postal-code" title="md-vcard-adr-postal-code"><code>postal-code</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the postal code component of the delivery address of the
+    person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>A single property with the name <code title="md-vcard-adr-postal-code"><a href="#md-vcard-adr-postal-code">postal-code</a></code> may be present
+    within the <span title="concept-item">item</span> that forms the
+    <span title="concept-property-value">value</span> of an <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-adr-country-name" title="md-vcard-adr-country-name"><code>country-name</code></dfn> (inside <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the country name component of the delivery address of the
+    person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>A single property with the name <code title="md-vcard-adr-country-name"><a href="#md-vcard-adr-country-name">country-name</a></code> may be
+    present within the <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-label" title="md-vcard-label"><code>label</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the formatted text corresponding to the delivery address
+    of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either text or an <span title="concept-item">item</span> with zero
+    or more <code title="md-vcard-label-type"><a href="#md-vcard-label-type">type</a></code> properties
+    and exactly one <code title="md-vcard-label-value"><a href="#md-vcard-label-value">value</a></code>
+    property.</p>
+
+    <p>If no <code title="md-vcard-label-type"><a href="#md-vcard-label-type">type</a></code> properties
+    are present within an <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of a
+    <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, or if the <span title="concept-property-value">value</span> of such a <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> property is text, then the
+    <a href="#address-type-strings">address type strings</a> <code title="mv-vcard-type-adr-intl">intl</code>, <code title="mv-vcard-type-adr-postal">postal</code>, <code title="mv-vcard-type-adr-parcel">parcel</code>, and <code title="mv-vcard-type-adr-work">work</code> are implied.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-label-type" title="md-vcard-label-type"><code>type</code></dfn> (inside <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the type of delivery address.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that, when compared in a <span>case-sensitive</span> manner,
+    is equal to one of the <a href="#address-type-strings">address type strings</a>.</p>
+
+    <p>Within each <span title="concept-item">item</span> with the
+    type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, there must be no more
+    than one <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> property <span title="concept-item">item</span> with a <code title="md-vcard-label-type"><a href="#md-vcard-label-type">type</a></code> property whose value is
+    <code title="md-vcard-type-adr-pref"><a href="#md-vcard-type-adr-pref">pref</a></code>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-label-type"><a href="#md-vcard-label-type">type</a></code> may be present within the
+    <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of a <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, but within each such <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> property <span title="concept-item">item</span> there must only be one <code title="md-vcard-label-type"><a href="#md-vcard-label-type">type</a></code> property per distinct
+    value.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-label-value" title="md-vcard-label-value"><code>value</code></dfn> (inside <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the actual formatted text corresponding to the delivery
+    address of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Exactly one property with the name <code title="md-vcard-label-value"><a href="#md-vcard-label-value">value</a></code> must be present within
+    the <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of a <code title="md-vcard-label"><a href="#md-vcard-label">label</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-tel" title="md-vcard-tel"><code>tel</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the telephone number of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either text that can be interpreted as a telephone number as
+    defined in the CCITT specifications E.163 and X.121, or an <span title="concept-item">item</span> with zero or more <code title="md-vcard-tel-type"><a href="#md-vcard-tel-type">type</a></code> properties and exactly one
+    <code title="md-vcard-tel-value"><a href="#md-vcard-tel-value">value</a></code> property. <a href="#refsE163">[E163]</a> <a href="#refsX121">[X121]</a></p>
+
+    <p>If no <code title="md-vcard-tel-type"><a href="#md-vcard-tel-type">type</a></code> properties
+    are present within an <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of a
+    <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, or if the <span title="concept-property-value">value</span> of such a <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> property is text, then the <a href="#telephone-type-strings" title="telephone type strings">telephone type string</a> <code title="mv-vcard-type-tel-voice">voice</code> is implied.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-tel-type" title="md-vcard-tel-type"><code>type</code></dfn> (inside <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the type of telephone number.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that, when compared in a <span>case-sensitive</span> manner,
+    is equal to one of the <a href="#telephone-type-strings">telephone type strings</a>.</p>
+
+    <p>Within each <span title="concept-item">item</span> with the
+    type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, there must be no more
+    than one <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> property <span title="concept-item">item</span> with a <code title="md-vcard-tel-type"><a href="#md-vcard-tel-type">type</a></code> property whose value is
+    <code title="md-vcard-type-tel-pref"><a href="#md-vcard-type-tel-pref">pref</a></code>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-tel-type"><a href="#md-vcard-tel-type">type</a></code> may be present within the
+    <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of a <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, but within each such <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> property <span title="concept-item">item</span> there must only be one <code title="md-vcard-tel-type"><a href="#md-vcard-tel-type">type</a></code> property per distinct
+    value.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-tel-value" title="md-vcard-tel-value"><code>value</code></dfn> (inside <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the actual telephone number of the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that can be interpreted as a telephone number as defined in
+    the CCITT specifications E.163 and X.121. <a href="#refsE163">[E163]</a> <a href="#refsX121">[X121]</a></p>
+
+    <p>Exactly one property with the name <code title="md-vcard-tel-value"><a href="#md-vcard-tel-value">value</a></code> must be present within the
+    <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of a <code title="md-vcard-tel"><a href="#md-vcard-tel">tel</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-email" title="md-vcard-email"><code>email</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the e-mail address of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either text or an <span title="concept-item">item</span> with zero
+    or more <code title="md-vcard-email-type"><a href="#md-vcard-email-type">type</a></code> properties
+    and exactly one <code title="md-vcard-email-value"><a href="#md-vcard-email-value">value</a></code>
+    property.</p>
+
+    <p>If no <code title="md-vcard-email-type"><a href="#md-vcard-email-type">type</a></code> properties
+    are present within an <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, or if the <span title="concept-property-value">value</span> of such an <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> property is text, then the
+    <a href="#e-mail-type-strings" title="e-mail type strings">e-mail type string</a> <code title="mv-vcard-type-email-internet">internet</code> is
+    implied.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-email-type" title="md-vcard-email-type"><code>type</code></dfn> (inside <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the type of e-mail address.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that, when compared in a <span>case-sensitive</span> manner,
+    is equal to one of the <a href="#e-mail-type-strings">e-mail type strings</a>.</p>
+
+    <p>Within each <span title="concept-item">item</span> with the
+    type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, there must be no more
+    than one <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> property <span title="concept-item">item</span> with a <code title="md-vcard-email-type"><a href="#md-vcard-email-type">type</a></code> property whose value is
+    <code title="md-vcard-type-email-pref"><a href="#md-vcard-type-email-pref">pref</a></code>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-email-type"><a href="#md-vcard-email-type">type</a></code> may be present within the
+    <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of an <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, but within each such <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> property <span title="concept-item">item</span> there must only be one <code title="md-vcard-email-type"><a href="#md-vcard-email-type">type</a></code> property per distinct
+    value.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-email-value" title="md-vcard-email-value"><code>value</code></dfn> (inside <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the actual e-mail address of the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Exactly one property with the name <code title="md-vcard-email-value"><a href="#md-vcard-email-value">value</a></code> must be present within
+    the <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of an <code title="md-vcard-email"><a href="#md-vcard-email">email</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-mailer" title="md-vcard-mailer"><code>mailer</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the name of the e-mail software used by the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-mailer"><a href="#md-vcard-mailer">mailer</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-tz" title="md-vcard-tz"><code>tz</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the time zone of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text and must match the following syntax:</p>
+
+    <ol><li>Either a U+002B PLUS SIGN character (+) or a U+002D
+     HYPHEN-MINUS character (-).</li>
+
+     <li>A <span>valid non-negative integer</span> that is exactly two
+     digits long and that represents a number in the range
+     00..23.</li>
+
+     <li>A U+003A COLON character (:).</li>
+
+     <li>A <span>valid non-negative integer</span> that is exactly two
+     digits long and that represents a number in the range
+     00..59.</li>
+
+    </ol><p>Any number of properties with the name <code title="md-vcard-tz"><a href="#md-vcard-tz">tz</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-geo" title="md-vcard-geo"><code>geo</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the geographical position of the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text and must match the following syntax:</p>
+
+    <ol><li>Optionally, either a U+002B PLUS SIGN character (+) or a
+     U+002D HYPHEN-MINUS character (-).</li>
+
+     <li>One or more digits in the range U+0030 DIGIT ZERO .. U+0039
+     DIGIT NINE.</li>
+
+     <li>Optionally*, a U+002E FULL STOP character (.) followed by one
+     or more digits in the range U+0030 DIGIT ZERO .. U+0039 DIGIT
+     NINE.</li>
+
+     <li>A U+003B SEMICOLON character (;).</li>
+
+     <li>Optionally, either a U+002B PLUS SIGN character (+) or a
+     U+002D HYPHEN-MINUS character (-).</li>
+
+     <li>One or more digits in the range U+0030 DIGIT ZERO .. U+0039
+     DIGIT NINE.</li>
+
+     <li>Optionally*, a U+002E FULL STOP character (.) followed by one
+     or more digits in the range U+0030 DIGIT ZERO .. U+0039 DIGIT
+     NINE.</li>
+
+    </ol><p>The optional components marked with an asterisk (*) should be
+    included, and should have six digits each.</p>
+
+    <!-- copied from vCard -->
+    <p class="note">The value specifies latitude and longitude, in
+    that order (i.e., "LAT LON" ordering), in decimal degrees. The
+    longitude represents the location east and west of the prime
+    meridian as a positive or negative real number, respectively.  The
+    latitude represents the location north and south of the equator as
+    a positive or negative real number, respectively.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-geo"><a href="#md-vcard-geo">geo</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-title" title="md-vcard-title"><code>title</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the job title, functional position or function of the
+    person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-title"><a href="#md-vcard-title">title</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-role" title="md-vcard-role"><code>role</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the role, occupation, or business category of the person
+    or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-role"><a href="#md-vcard-role">role</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-logo" title="md-vcard-logo"><code>logo</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the logo of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-logo"><a href="#md-vcard-logo">logo</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-agent" title="md-vcard-agent"><code>agent</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the contact information of another person who will act on
+    behalf of the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either an <span title="concept-item">item</span> with the type
+    <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, or an <span>absolute
+    URL</span>, or text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-logo"><a href="#md-vcard-logo">logo</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-org" title="md-vcard-org"><code>org</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the name and units of the organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either text or an <span title="concept-item">item</span> with one
+    <code title="md-vcard-org-organization-name"><a href="#md-vcard-org-organization-name">organization-name</a></code>
+    property and zero or more <code title="md-vcard-n-organization-unit">organization-unit</code>
+    properties.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-org-organization-name" title="md-vcard-org-organization-name"><code>organization-name</code></dfn> (inside <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the name of the organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Exactly one property with the name <code title="md-vcard-org-organization-name"><a href="#md-vcard-org-organization-name">organization-name</a></code>
+    must be present within the <span title="concept-item">item</span>
+    that forms the <span title="concept-property-value">value</span>
+    of an <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-org-organization-unit" title="md-vcard-org-organization-unit"><code>organization-unit</code></dfn> (inside <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the name of the organization unit.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-org-organization-unit"><a href="#md-vcard-org-organization-unit">organization-unit</a></code>
+    may be present within the <span title="concept-item">item</span>
+    that forms the <span title="concept-property-value">value</span>
+    of the <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-categories" title="md-vcard-categories"><code>categories</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the name of a category or tag that the person or
+    organization could be classified as.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-categories"><a href="#md-vcard-categories">categories</a></code> may be present
+    within each <span title="concept-item">item</span> with the type
+    <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-note" title="md-vcard-note"><code>note</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives supplemental information or a comment about the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-note"><a href="#md-vcard-note">note</a></code> may be present
+    within each <span title="concept-item">item</span> with the type
+    <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <!-- PRODID not included -->
+
+
+   <dt><dfn id="md-vcard-rev" title="md-vcard-rev"><code>rev</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the revision date and time of the contact
+    information.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is a <span>valid global date and time string</span>.</p>
+
+    <!-- copied from vCard -->
+    <p class="note">The value distinguishes the current revision of
+    the information for other renditions of the information.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-rev"><a href="#md-vcard-rev">rev</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-sort-string" title="md-vcard-sort-string"><code>sort-string</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the string to be used for sorting the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-sort-string"><a href="#md-vcard-sort-string">sort-string</a></code> may be present
+    within each <span title="concept-item">item</span> with the type
+    <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vcard-sound" title="md-vcard-sound"><code>sound</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a sound file relating to the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-sound"><a href="#md-vcard-sound">sound</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <!-- UID not included - use "itemid" -->
+
+
+   <dt><dfn id="md-vcard-url" title="md-vcard-url"><code>url</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a <span>URL</span> relating to the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-url"><a href="#md-vcard-url">url</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <!-- VERSION not included - always 3.0 -->
+
+
+   <dt><dfn id="md-vcard-class" title="md-vcard-class"><code>class</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the access classification of the information regarding
+    the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text with one of the following values:</p>
+
+    <ul class="brief"><li><code title="">public</code></li>
+     <li><code title="">private</code></li>
+     <li><code title="">confidential</code></li>
+    </ul><p class="warning">This is merely advisory and cannot be
+    considered a confidentiality measure.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-class"><a href="#md-vcard-class">class</a></code> may be present
+    within each <span title="concept-item">item</span> with the type
+    <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+   <!-- KEY not included - no way to include binary data at this time -->   
+
+
+   <!-- IMPP is from RFC4770 -->
+
+   <dt><dfn id="md-vcard-impp" title="md-vcard-impp"><code>impp</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a <span>URL</span> for instant messaging and presence
+    protocol communications with the person or organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either an <span>absolute URL</span> or an <span title="concept-item">item</span> with zero or more <code title="md-vcard-impp-type"><a href="#md-vcard-impp-type">type</a></code> properties and exactly one
+    <code title="md-vcard-impp-value"><a href="#md-vcard-impp-value">value</a></code> property.</p>
+
+    <p>If no <code title="md-vcard-impp-type"><a href="#md-vcard-impp-type">type</a></code> properties
+    are present within an <span title="concept-item">item</span> that
+    forms the <span title="concept-property-value">value</span> of an
+    <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, or if the <span title="concept-property-value">value</span> of such an <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> property is an <span>absolute
+    URL</span>, then no <a href="#impp-type-strings">IMPP type strings</a> are
+    implied.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-impp-type" title="md-vcard-impp-type"><code>type</code></dfn> (inside <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the intended use of the IMPP <span>URL</span>.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that, when compared in a <span>case-sensitive</span> manner,
+    is equal to one of the <a href="#impp-type-strings">IMPP type strings</a>.</p>
+
+    <p>Within each <span title="concept-item">item</span> with the
+    type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, there must be no more
+    than one <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> property <span title="concept-item">item</span> with a <code title="md-vcard-impp-type"><a href="#md-vcard-impp-type">type</a></code> property whose value is
+    <code title="md-vcard-type-impp-pref"><a href="#md-vcard-type-impp-pref">pref</a></code>.</p>
+
+    <p>Any number of properties with the name <code title="md-vcard-impp-type"><a href="#md-vcard-impp-type">type</a></code> may be present within the
+    <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of an <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, but within each such <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> property <span title="concept-item">item</span> there must only be one <code title="md-vcard-impp-type"><a href="#md-vcard-impp-type">type</a></code> property per distinct
+    value.</p>
+
+   </dd>
+
+   <dt><dfn id="md-vcard-impp-value" title="md-vcard-impp-value"><code>value</code></dfn> (inside <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code>)</dt>
+
+   <dd>
+
+    <p>Gives the actual <span>URL</span> for instant messaging and
+    presence protocol communications with the person or
+    organization.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Exactly one property with the name <code title="md-vcard-impp-value"><a href="#md-vcard-impp-value">value</a></code> must be present within
+    the <span title="concept-item">item</span> that forms the <span title="concept-property-value">value</span> of an <code title="md-vcard-impp"><a href="#md-vcard-impp">impp</a></code> property of an <span title="concept-item">item</span> with the type <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</p>
+
+   </dd>
+
+
+  </dl><p>The <dfn id="address-type-strings">address type strings</dfn> are:</p>
+
+  <dl><dt><dfn id="md-vcard-type-adr-dom" title="md-vcard-type-adr-dom"><code>dom</code></dfn></dt>
+   <dd>
+    <p>Indicates a domestic delivery address.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-adr-intl" title="md-vcard-type-adr-intl"><code>intl</code></dfn></dt>
+   <dd>
+    <p>Indicates an international delivery address.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-adr-postal" title="md-vcard-type-adr-postal"><code>postal</code></dfn></dt>
+   <dd>
+    <p>Indicates a postal delivery address.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-adr-parcel" title="md-vcard-type-adr-parcel"><code>parcel</code></dfn></dt>
+   <dd>
+    <p>Indicates a parcel delivery address.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-adr-home" title="md-vcard-type-adr-home"><code>home</code></dfn></dt>
+   <dd>
+    <p>Indicates a residential delivery address.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-adr-work" title="md-vcard-type-adr-work"><code>work</code></dfn></dt>
+   <dd>
+    <p>Indicates a delivery address for a place of work.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-adr-pref" title="md-vcard-type-adr-pref"><code>pref</code></dfn></dt>
+   <dd>
+
+    <p>Indicates the preferred delivery address when multiple
+    addresses are specified.</p>
+
+   <dd>
+
+  </dl><p>The <dfn id="telephone-type-strings">telephone type strings</dfn> are:</p>
+
+  <dl><dt><dfn id="md-vcard-type-tel-home" title="md-vcard-type-tel-home"><code>home</code></dfn></dt>
+   <dd>
+    <p>Indicates a residential number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-msg" title="md-vcard-type-tel-msg"><code>msg</code></dfn></dt>
+   <dd>
+    <p>Indicates a telephone number with voice messaging support.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-work" title="md-vcard-type-tel-work"><code>work</code></dfn></dt>
+   <dd>
+    <p>Indicates a telephone number for a place of work.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-voice" title="md-vcard-type-tel-voice"><code>voice</code></dfn></dt>
+   <dd>
+    <p>Indicates a voice telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-fax" title="md-vcard-type-tel-fax"><code>fax</code></dfn></dt>
+   <dd>
+    <p>Indicates a facsimile telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-cell" title="md-vcard-type-tel-cell"><code>cell</code></dfn></dt>
+   <dd>
+    <p>Indicates a cellular telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-video" title="md-vcard-type-tel-video"><code>video</code></dfn></dt>
+   <dd>
+    <p>Indicates a video conferencing telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-pager" title="md-vcard-type-tel-pager"><code>pager</code></dfn></dt>
+   <dd>
+    <p>Indicates a paging device telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-bbs" title="md-vcard-type-tel-bbs"><code>bbs</code></dfn></dt>
+   <dd>
+    <p>Indicates a bulletin board system telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-modem" title="md-vcard-type-tel-modem"><code>modem</code></dfn></dt>
+   <dd>
+    <p>Indicates a MODEM-connected telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-car" title="md-vcard-type-tel-car"><code>car</code></dfn></dt>
+   <dd>
+    <p>Indicates a car-phone telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-isdn" title="md-vcard-type-tel-isdn"><code>isdn</code></dfn></dt>
+   <dd>
+    <p>Indicates an ISDN service telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-pcs" title="md-vcard-type-tel-pcs"><code>pcs</code></dfn></dt>
+   <dd>
+    <p>Indicates a personal communication services telephone number.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-tel-pref" title="md-vcard-type-tel-pref"><code>pref</code></dfn></dt>
+   <dd>
+
+    <p>Indicates the preferred telephone number when multiple
+    telephone numbers are specified.</p>
+
+   <dd>
+
+  </dl><p>The <dfn id="e-mail-type-strings">e-mail type strings</dfn> are:</p>
+
+  <dl><dt><dfn id="md-vcard-type-email-internet" title="md-vcard-type-email-internet"><code>internet</code></dfn></dt>
+   <dd>
+    <p>Indicates an Internet e-mail address.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-email-x400" title="md-vcard-type-email-x400"><code>x400</code></dfn></dt>
+   <dd>
+    <p>Indicates a X.400 addressing type.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-email-pref" title="md-vcard-type-email-pref"><code>pref</code></dfn></dt>
+   <dd>
+
+    <p>Indicates the preferred e-mail address when multiple e-mail
+    addresses are specified.</p>
+
+   <dd>
+
+  </dl><p>The <dfn id="impp-type-strings">IMPP type strings</dfn> are:</p>
+
+  <dl><dt><dfn id="md-vcard-type-impp-personal" title="md-vcard-type-impp-personal"><code>personal</code></dfn></dt>
+   <dt><dfn id="md-vcard-type-impp-business" title="md-vcard-type-impp-business"><code>business</code></dfn></dt>
+   <dd>
+    <p>Indicates the type of communication for which this IMPP
+    <span>URL</span> is appropriate.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-impp-home" title="md-vcard-type-impp-home"><code>home</code></dfn></dt>
+   <dt><dfn id="md-vcard-type-impp-work" title="md-vcard-type-impp-work"><code>work</code></dfn></dt>
+   <dt><dfn id="md-vcard-type-impp-mobile" title="md-vcard-type-impp-mobile"><code>mobile</code></dfn></dt>
+   <dd>
+    <p>Indicates the location of a device associated with this IMPP
+    <span>URL</span>.</p>
+   <dd>
+
+   <dt><dfn id="md-vcard-type-impp-pref" title="md-vcard-type-impp-pref"><code>pref</code></dfn></dt>
+   <dd>
+    <p>Indicates the preferred address when multiple IMPP
+    <span>URL</span>s are specified.</p>
+   <dd>
+
+  </dl><h3 id="conversion-to-vcard"><span class="secno">2.1 </span>Conversion to vCard</h3>
+
+  <p>Given a list of nodes <var title="">nodes</var> in a
+  <code>Document</code>, a user agent must run the following algorithm
+  to <dfn id="extracting-a-vcard" title="extracting a vCard">extract any vCard data
+  represented by those nodes</dfn> (only the first vCard is
+  returned):</p>
+
+  <ol><li><p>If none of the nodes in <var title="">nodes</var> are <span title="concept-item">items</span> with the <span>item type</span>
+   <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, then
+   there is no vCard. Abort the algorithm, returning nothing.</li>
+
+   <li><p>Let <var title="">node</var> be the first node in <var title="">nodes</var> that is an <span title="concept-item">item</span> with the <span>item type</span>
+   <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>.</li>
+
+   <li><p>Let <var title="">output</var> be an empty string.</li>
+
+   <li><p><a href="#add-a-vcard-line">Add a vCard line</a> with the type "<code title="">BEGIN</code>" and the value "<code title="">VCARD</code>"
+   to <var title="">output</var>.</li>
+
+   <li><p><a href="#add-a-vcard-line">Add a vCard line</a> with the type "<code title="">PROFILE</code>" and the value "<code title="">VCARD</code>" to <var title="">output</var>.</li>
+
+   <li><p><a href="#add-a-vcard-line">Add a vCard line</a> with the type "<code title="">VERSION</code>" and the value "<code title="">3.0</code>"
+   to <var title="">output</var>.</li>
+
+   <li><p><a href="#add-a-vcard-line">Add a vCard line</a> with the type "<code title="">SOURCE</code>" and the result of <a href="#escaping-the-vcard-text-string">escaping the vCard
+   text string</a> that is the <span>the document's current
+   address</span> as the value to <var title="">output</var>.</li>
+
+   <li><p>If <span>the <code>title</code> element</span> is not null,
+   <a href="#add-a-vcard-line">add a vCard line</a> with the type "<code title="">NAME</code>" and with the result of <a href="#escaping-the-vcard-text-string">escaping the
+   vCard text string</a> obtained from the <code>textContent</code>
+   of <span>the <code>title</code> element</span> as the value to <var title="">output</var>.</li>
+
+   <li><p>If <var title="">node</var> has a <span>global
+   identifier</span>, <a href="#add-a-vcard-line">add a vCard line</a> with the type
+   "<code title="">UID</code>" and with the result of <a href="#escaping-the-vcard-text-string">escaping
+   the vCard text string</a> of that <span>global identifier</span>
+   as the value to <var title="">output</var>.</li>
+
+   <li><p>Let <var title="">first-n</var>, <var title="">first-org</var>, and <var title="">first-fn</var> be
+   null.</li>
+
+   <li>
+
+    <p>For each element <var title="">element</var> that is <span title="the properties of an item">a property of the item</span>
+    <var title="">node</var>: for each name <var title="">name</var>
+    in <var title="">element</var>'s <span>property names</span>, run
+    the following substeps:</p>
+
+    <ol><li><p>Let <var title="">parameters</var> be an empty set of
+     name-value pairs.</li>
+
+     <li>
+
+      <p>Run the appropriate set of substeps from the following
+      list. The steps will set a variable <var title="">value</var>,
+      which is used in the next step.</p>
+
+      <dl><dt>If the property's <span title="concept-property-value">value</span> is an <span title="concept-item">item</span> <var title="">subitem</var>
+       and <var title="">name</var> is <code title="md-vcard-n"><a href="#md-vcard-n">n</a></code></dt>
+
+       <dd>
+
+        <ol><li><p>If <var title="">first-n</var> is null, let <var title="">first-n</var> be <var title="">element</var>.</li>
+
+         <li><p>Let <var title="">n1</var> be the <span title="concept-property-value">value</span> of the first
+         property named <code title="md-vcard-n-family-name"><a href="#md-vcard-n-family-name">family-name</a></code> in <var title="">subitem</var>, or the empty string if there is no
+         such property or the property's value is itself an <span title="concept-item">item</span>.</li>
+
+         <li><p>Let <var title="">n2</var> be the <span title="concept-property-value">value</span> of the first
+         property named <code title="md-vcard-n-given-name"><a href="#md-vcard-n-given-name">given-name</a></code> in <var title="">subitem</var>, or the empty string if there is no
+         such property or the property's value is itself an <span title="concept-item">item</span>.</li>
+
+         <li><p>Let <var title="">n3</var> be the <span title="concept-property-value">value</span> of the first
+         property named <code title="md-vcard-n-additional-name"><a href="#md-vcard-n-additional-name">additional-name</a></code> in
+         <var title="">subitem</var>, or the empty string if there is
+         no such property or the property's value is itself an <span title="concept-item">item</span>.</li>
+
+         <li><p>Let <var title="">n4</var> be the <span title="concept-property-value">value</span> of the first
+         property named <code title="md-vcard-n-honorific-prefix"><a href="#md-vcard-n-honorific-prefix">honorific-prefix</a></code>
+         in <var title="">subitem</var>, or the empty string if there
+         is no such property or the property's value is itself an
+         <span title="concept-item">item</span>.</li>
+
+         <li><p>Let <var title="">n5</var> be the <span title="concept-property-value">value</span> of the first
+         property named <code title="md-vcard-n-honorific-suffix"><a href="#md-vcard-n-honorific-suffix">honorific-suffix</a></code>
+         in <var title="">subitem</var>, or the empty string if there
+         is no such property or the property's value is itself an
+         <span title="concept-item">item</span>.</li>
+
+         <li>
+
+          <p>Let <var title="">value</var> be the concatenation of the
+          following, in this order:</p>
+
+          <ol class="brief"><li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">n1</var></li>
+           <li>A U+003B SEMICOLON character (;)</li>
+           <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">n2</var></li>
+           <li>A U+003B SEMICOLON character (;)</li>
+           <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">n3</var></li>
+           <li>A U+003B SEMICOLON character (;)</li>
+           <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">n4</var></li>
+           <li>A U+003B SEMICOLON character (;)</li>
+           <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">n5</var></li>
+          </ol></li>
+
+        </ol></dd>
+
+       <dt>If the property's <span title="concept-property-value">value</span> is an <span title="concept-item">item</span> <var title="">subitem</var>
+       and <var title="">name</var> is <code title="md-vcard-adr"><a href="#md-vcard-adr">adr</a></code></dt>
+
+       <dd>
+
+        <ol><li><p>Let <var title="">value</var> be the empty
+         string.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-vcard-subproperties">collecting vCard subproperties</a> named <code title="md-vcard-adr-post-office-box"><a href="#md-vcard-adr-post-office-box">post-office-box</a></code>
+         in <var title="">subitem</var>.</p>
+
+         <li>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-vcard-subproperties">collecting vCard subproperties</a> named <code title="md-vcard-adr-extended-address"><a href="#md-vcard-adr-extended-address">extended-address</a></code>
+         in <var title="">subitem</var>.</p>
+
+         <li>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-vcard-subproperties">collecting vCard subproperties</a> named <code title="md-vcard-adr-street-address"><a href="#md-vcard-adr-street-address">street-address</a></code> in
+         <var title="">subitem</var>.</p>
+
+         <li>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</a> named
+         <code title="md-vcard-adr-locality"><a href="#md-vcard-adr-locality">locality</a></code> in <var title="">subitem</var>.</p>
+
+         <li>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</a> named
+         <code title="md-vcard-adr-region"><a href="#md-vcard-adr-region">region</a></code> in <var title="">subitem</var>.</p>
+
+         <li>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</a> named
+         <code title="md-vcard-adr-postal-code"><a href="#md-vcard-adr-postal-code">postal-code</a></code> in
+         <var title="">subitem</var>.</p>
+
+         <li>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</a> named
+         <code title="md-vcard-adr-country-name"><a href="#md-vcard-adr-country-name">country-name</a></code>
+         in <var title="">subitem</var>.</p>
+
+         <li><p>If there is a property named <code title="md-vcard-adr-type"><a href="#md-vcard-adr-type">type</a></code> in <var title="">subitem</var>, and the first such property has a
+         <span title="concept-property-value">value</span> that is not
+         an <span title="concept-item">item</span> and whose value
+         consists only of <span>alphanumeric ASCII characters</span>,
+         then add a parameter named "<code title="">TYPE</code>" whose
+         value is the <span title="concept-property-value">value</span> of that property
+         to <var title="">parameters</var>.</li>
+
+        </ol></dd>
+
+       <dt>If the property's <span title="concept-property-value">value</span> is an <span title="concept-item">item</span> <var title="">subitem</var>
+       and <var title="">name</var> is <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code></dt>
+
+       <dd>
+
+        <ol><li><p>If <var title="">first-org</var> is null, let <var title="">first-org</var> be <var title="">element</var>.</li>
+
+         <li><p>Let <var title="">value</var> be the empty
+         string.</li>
+
+         <li><p>Append to <var title="">value</var> the result of
+         <a href="#collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</a> named
+         <code title="md-vcard-org-organization-name"><a href="#md-vcard-org-organization-name">organization-name</a></code>
+         in <var title="">subitem</var>.</p>
+
+         <li>
+
+          <p>For each property named <code title="md-vcard-org-organization-unit"><a href="#md-vcard-org-organization-unit">organization-unit</a></code>
+          in <var title="">subitem</var>, run the following steps:</p>
+
+          <ol><li><p>If the <span title="concept-property-value">value</span> of the property
+           is an <span title="concept-item">item</span>, then skip
+           this property.</li>
+
+           <li><p>Append a U+003B SEMICOLON character (;) to <var title="">value</var>.</li>
+
+           <li><p>Append the result of <a href="#escaping-the-vcard-text-string">escaping the vCard text
+           string</a> given by the <span title="concept-property-value">value</span> of the property
+           to <var title="">value</var>.</li>
+
+          </ol></li>
+
+        </ol></dd>
+
+       <dt>If the property's <span title="concept-property-value">value</span> is an <span title="concept-item">item</span> <var title="">subitem</var>
+       with the <span>item type</span> <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>
+       and <var title="">name</var> is <code title="md-vcard-agent"><a href="#md-vcard-agent">agent</a></code></dt>
+
+       <dd>
+
+        <ol><li><p>Let <var title="">value</var> be the result of
+         <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> obtained from
+         <a href="#extracting-a-vcard">extracting a vCard</a> from the element that
+         represents <var title="">subitem</var>.</li>
+
+         <li><p>Add a parameter named "<code title="">VALUE</code>"
+         whose value is "<code title="">VCARD</code>" to <var title="">parameters</var>.</li>
+
+        </ol></dd>
+
+       <dt>If the property's <span title="concept-property-value">value</span> is an <span title="concept-item">item</span> and <var title="">name</var>
+       is none of the above</dt>
+
+       <dd>
+
+        <ol><li><p>Let <var title="">value</var> the result of
+         <a href="#collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</a> named
+         <code title="">value</code> in <var title="">subitem</var>.</p>
+
+         <li><p>If there is a property named <code title="">type</code> in <var title="">subitem</var>, and the
+         first such property has a <span title="concept-property-value">value</span> that is not an
+         <span title="concept-item">item</span> and whose value
+         consists only of <span>alphanumeric ASCII characters</span>,
+         then add a parameter named "<code title="">TYPE</code>" whose
+         value is the <span title="concept-property-value">value</span> of that property
+         to <var title="">parameters</var>.</li>
+
+        </ol></dd>
+
+       <dt>Otherwise (the property's <span title="concept-property-value">value</span> is not an <span title="concept-item">item</span>)</dt>
+
+       <dd>
+
+        <ol><li>
+
+          <p>If <var title="">name</var> is <code title="md-vcard-fn"><a href="#md-vcard-fn">fn</a></code> and <var title="">first-fn</var> is null, let <var title="">first-fn</var> be <var title="">element</var>.</p>
+
+          <p>Otherwise, if <var title="">name</var> is <code title="md-vcard-org"><a href="#md-vcard-org">org</a></code> and <var title="">first-org</var> is null, let <var title="">first-org</var> be <var title="">element</var>.</p>
+
+         </li>
+
+         <li><p>Let <var title="">value</var> be the property's <span title="concept-property-value">value</span>.</li>
+
+         <li><p>If <var title="">element</var> is one of the <span>URL
+         property elements</span>, add a parameter with the name "<code title="">VALUE</code>" and the value "<code title="">URI</code>" to <var title="">parameters</var>.</li>
+
+         <li><p>Otherwise, if <var title="">element</var> is a
+         <code>time</code> element and the <var title="">value</var> is
+         a <span>valid date string</span>, add a parameter with the name
+         "<code title="">VALUE</code>" and the value "<code title="">DATE</code>" to <var title="">parameters</var>.</li>
+
+         <li><p>Otherwise, if <var title="">element</var> is a
+         <code>time</code> element and the <var title="">value</var> is
+         a <span>valid global date and time string</span>, add a
+         parameter with the name "<code title="">VALUE</code>" and the
+         value "<code title="">DATE-TIME</code>" to <var title="">parameters</var>.</li>
+
+         <li><p>Prefix every U+005C REVERSE SOLIDUS character (\) in
+         <var title="">value</var> with another U+005C REVERSE SOLIDUS
+         character (\).</li>
+
+         <li><p>Prefix every U+002C COMMA character (,) in <var title="">value</var> with a U+005C REVERSE SOLIDUS character
+         (\).</li>
+
+         <li><p>Unless <var title="">name</var> is <code title="md-vcard-geo"><a href="#md-vcard-geo">geo</a></code>, prefix every U+003B SEMICOLON
+         character (;) in <var title="">value</var> with a U+005C
+         REVERSE SOLIDUS character (\).</li>
+
+         <li><p>Replace every U+000D CARRIAGE RETURN U+000A LINE FEED
+         character pair (CRLF) in <var title="">value</var> with a U+005C REVERSE
+         SOLIDUS character (\) followed by a U+006E LATIN SMALL LETTER
+         N.</li>
+
+         <li><p>Replace every remaining U+000D CARRIAGE RETURN (CR) or
+         U+000A LINE FEED (LF) character in <var title="">value</var>
+         with a U+005C REVERSE SOLIDUS character (\) followed by a U+006E
+         LATIN SMALL LETTER N.</li>
+
+        </ol></dd>
+
+      </dl></li>
+
+     <li>
+
+      <p><a href="#add-a-vcard-line">Add a vCard line</a> with the type <var title="">name</var>, the parameters <var title="">parameters</var>, and the value <var title="">value</var> to <var title="">output</var>.</p>
+
+     </li>
+
+    </ol></li>
+
+   <li>
+
+    <p>If <var title="">first-n</var> is null, then run the following
+    substeps:</p>
+
+    <ol><li><p>If <var title="">first-fn</var> is also null, then skip
+     the remainder of these substeps.</li>
+
+     <li><p>If <var title="">first-fn</var> has a <span title="concept-property-value">value</span> that is an <span title="concept-item">item</span>, then skip the remainder of
+     these substeps.</li>
+
+     <li><p>If <var title="">first-org</var> is not null, and the
+     <span title="concept-property-value">value</span> of <var title="">first-org</var> is not an <span title="concept-item">item</span> and is equal to <var title="">first-fn</var>, then <a href="#add-a-vcard-line">add a vCard line</a> with
+     the type "<code title="">N</code>" whose value is four U+003B
+     SEMICOLON characters ("<code title="">;;;;</code>") to <var title="">output</var>. Then, skip the remainder of these
+     substeps.</li>
+
+     <li><p>If the <span title="space character">space
+     characters</span> in <var title="">first-fn</var>, if any, are
+     not all contiguous, then skip the remainder of these
+     substeps.</li>
+
+     <li><p><span title="split a string on spaces">Split <var title="">first-fn</var> on spaces</span>, and let <var title="">part one</var> be the first resulting token, and <var title="">part two</var> be the second, if any, or the empty
+     string if there is no second token. (There cannot be three, given
+     the previous step.)</li>
+
+     <li>
+
+      <p>If the last character of <var title="">part one</var> is a
+      U+002C COMMA character (,), then remove that character from <var title="">part one</var> and <a href="#add-a-vcard-line">add a vCard line</a> with
+      the type "<code title="">N</code>" whose value is the
+      concatenation of the following strings:</p>
+
+      <ol class="brief"><li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part one</var></li>
+       <li>A U+003B SEMICOLON character (;)</li>
+       <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part two</var></li>
+       <li>Three U+003B SEMICOLON characters (;)</li>
+      </ol><p>Then, skip the remainder of these substeps.</p>
+
+     </li>
+
+     <li>
+
+      <p>If <var title="">part two</var> is two Unicode code-points
+      long and its second character is a U+002E FULL STOP character
+      (.), then <a href="#add-a-vcard-line">add a vCard line</a> with the type "<code title="">N</code>" whose value is the concatenation of the
+      following strings:</p>
+
+      <ol class="brief"><li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part one</var></li>
+       <li>A U+003B SEMICOLON character (;)</li>
+       <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> consisting of the first character of <var title="">part two</var></li>
+       <li>Three U+003B SEMICOLON characters (;)</li>
+      </ol><p>Then, skip the remainder of these substeps.</p>
+
+     </li>
+
+     <li>
+
+      <p>If <var title="">part two</var> is one Unicode code-point
+      long, then <a href="#add-a-vcard-line">add a vCard line</a> with the type "<code title="">N</code>" whose value is the concatenation of the
+      following strings:</p>
+
+      <ol class="brief"><li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part one</var></li>
+       <li>A U+003B SEMICOLON character (;)</li>
+       <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part two</var></li>
+       <li>Three U+003B SEMICOLON characters (;)</li>
+      </ol><p>Then, skip the remainder of these substeps.</p>
+
+     </li>
+
+     <li>
+
+      <p><a href="#add-a-vcard-line">Add a vCard line</a> with the type "<code title="">N</code>" whose value is the concatenation of the
+      following strings:</p>
+
+      <ol class="brief"><li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part two</var></li>
+       <li>A U+003B SEMICOLON character (;)</li>
+       <li>The result of <a href="#escaping-the-vcard-text-string">escaping the vCard text string</a> <var title="">part one</var></li>
+       <li>Three U+003B SEMICOLON characters (;)</li>
+      </ol></li>
+
+    </ol></li>
+
+   <li><p><a href="#add-a-vcard-line">Add a vCard line</a> with the type "<code title="">END</code>" and the value "<code title="">VCARD</code>"
+   to <var title="">output</var>.</li>
+
+  </ol><p>When the above algorithm says that the user agent is to <dfn id="add-a-vcard-line">add
+  a vCard line</dfn> consisting of a type <var title="">type</var>,
+  optionally some parameters, and a value <var title="">value</var> to
+  a string <var title="">output</var>, it must run the following
+  steps:</p>
+
+  <ol><li><p>Let <var title="">line</var> be an empty string.
+
+   <li><p>Append <var title="">type</var>, <span>converted to
+   ASCII uppercase</span>, to <var title="">line</var>.</li>
+
+   <li>
+
+    <p>If there are any parameters, then for each parameter, in the
+    order that they were added, run these substeps:</p>
+
+    <ol><li><p>Append a U+003B SEMICOLON character (;) to <var title="">line</var>.</li>
+
+     <li><p>Append the parameter's name to <var title="">line</var>.</li>
+
+     <li><p>Append a U+003D EQUALS SIGN character (=) to <var title="">line</var>.</li>
+
+     <li><p>Append the parameter's value to <var title="">line</var>.</li>
+
+    </ol></li>
+
+   <li><p>Append a U+003A COLON character (:) to <var title="">line</var>.</li>
+
+   <li><p>Append <var title="">value</var> to <var title="">line</var>.</li>
+
+   <li><p>Let <var title="">maximum length</var> be 75.</li>
+
+   <li>
+
+    <p>If and while <var title="">line</var> is longer than <var title="">maximum length</var> Unicode code points long, run the
+    following substeps:</p>
+
+    <ol><li><p>Append the first <var title="">maximum length</var>
+     Unicode code points of <var title="">line</var> to <var title="">output</var>.</li>
+
+     <li><p>Remove the first <var title="">maximum length</var>
+     Unicode code points from <var title="">line</var>.</li>
+
+     <li><p>Append a U+000D CARRIAGE RETURN character (CR) to <var title="">output</var>.</li>
+
+     <li><p>Append a U+000A LINE FEED character (LF) to <var title="">output</var>.</li>
+
+     <li><p>Append a U+0020 SPACE character to <var title="">output</var>.</li>
+
+     <li><p>Let <var title="">maximum length</var> be 74.</li>
+
+    </ol></li>
+
+   <li><p>Append (what remains of) <var title="">line</var> to <var title="">output</var>.</li>
+
+   <li><p>Append a U+000D CARRIAGE RETURN character (CR) to <var title="">output</var>.</li>
+
+   <li><p>Append a U+000A LINE FEED character (LF) to <var title="">output</var>.</li>
+
+  </ol><p>When the steps above require the user agent to obtain the result
+  of <dfn id="collecting-vcard-subproperties">collecting vCard subproperties</dfn> named <var title="">subname</var> in <var title="">subitem</var>, the user
+  agent must run the following steps:</p>
+
+  <ol><li><p>Let <var title="">value</var> be the empty string.</li>
+
+   <li>
+
+    <p>For each property named <var title="">subname</var> in the item
+    <var title="">subitem</var>, run the following substeps:</p>
+
+    <ol><li><p>If the <span title="concept-property-value">value</span>
+     of the property is itself an <span title="concept-item">item</span>, then skip this
+     property.</li>
+
+     <li><p>If this is not the first property named <var title="">subname</var> in <var title="">subitem</var> (ignoring
+     any that were skipped by the previous step), then append a U+002C
+     COMMA character (,) to <var title="">value</var>.</li>
+
+     <li><p>Append the result of <a href="#escaping-the-vcard-text-string">escaping the vCard text
+     string</a> given by the <span title="concept-property-value">value</span> of the property to
+     <var title="">value</var>.</li>
+
+    </ol></li>
+
+   <li><p>Return <var title="">value</var>.</li>
+
+  </ol><p>When the steps above require the user agent to obtain the result
+  of <dfn id="collecting-the-first-vcard-subproperty">collecting the first vCard subproperty</dfn> named <var title="">subname</var> in <var title="">subitem</var>, the user
+  agent must run the following steps:</p>
+
+  <ol><li><p>If there are no properties named <var title="">subname</var>
+   in <var title="">subitem</var>, then abort these substeps,
+   returning the empty string.</li>
+
+   <li><p>If the <span title="concept-property-value">value</span> of
+   the first property named <var title="">subname</var> in <var title="">subitem</var> is an <span title="concept-item">item</span>, then abort these substeps,
+   returning the empty string.</li>
+
+   <li><p>Return the result of <a href="#escaping-the-vcard-text-string">escaping the vCard text
+   string</a> given by the <span title="concept-property-value">value</span> of the first property
+   named <var title="">subname</var> in <var title="">subitem</var>.</li>
+
+  </ol><p>When the above algorithms say the user agent is to <dfn id="escaping-the-vcard-text-string" title="escaping the vCard text string">escape the vCard text
+  string</dfn> <var title="">value</var>, the user agent must use the
+  following steps:</p>
+
+  <ol><li><p>Prefix every U+005C REVERSE SOLIDUS character (\) in <var title="">value</var> with another U+005C REVERSE SOLIDUS character
+   (\).</li>
+
+   <li><p>Prefix every U+002C COMMA character (,) in <var title="">value</var> with a U+005C REVERSE SOLIDUS character
+   (\).</li>
+
+   <li><p>Prefix every U+003B SEMICOLON character (;) in <var title="">value</var> with a U+005C REVERSE SOLIDUS character
+   (\).</li>
+
+   <li><p>Replace every U+000D CARRIAGE RETURN U+000A LINE FEED
+   character pair (CRLF) in <var title="">value</var> with a U+005C
+   REVERSE SOLIDUS character (\) followed by a U+006E LATIN SMALL
+   LETTER N.</li>
+
+   <li><p>Replace every remaining U+000D CARRIAGE RETURN (CR) or
+   U+000A LINE FEED (LF) character in <var title="">value</var> with a
+   U+005C REVERSE SOLIDUS character (\) followed by a U+006E LATIN
+   SMALL LETTER N.</li>
+
+   <li><p>Return the mutated <var title="">value</var>.</li>
+
+  </ol><p class="note">This algorithm can generate invalid vCard output, if
+  the input does not conform to the rules described for the <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>
+  <span>item type</span> and <span title="defined property
+  name">defined property names</span>.</p> <!-- of course since vcard
+  doesn't define error handling, this is somewhat problematic. -->
+
+
+
+  <h3 id="examples"><span class="secno">2.2 </span>Examples</h3>
+
+  <div class="example">
+
+   <p>Here is a long example vCard for a fictional character called
+   "Jack Bauer":</p>
+
+   <pre><section id="jack" itemscope itemtype="http://microformats.org/profile/hcard">
+ <h1 itemprop="fn">Jack Bauer</h1>
+ <img itemprop="photo" alt="" src="jack-bauer.jpg">
+ <p itemprop="org" itemscope>
+  <span itemprop="organization-name">Counter-Terrorist Unit</span>
+  (<span itemprop="organization-unit">Los Angeles Division</span>)
+ </p>
+ <p>
+  <span itemprop="adr" itemscope>
+   <span itemprop="street-address">10201 W. Pico Blvd.</span><br>
+   <span itemprop="locality">Los Angeles</span>,
+   <span itemprop="region">CA</span>
+   <span itemprop="postal-code">90064</span><br>
+   <span itemprop="country-name">United States</span><br>
+  </span>
+  <span itemprop="geo">34.052339;-118.410623</span>
+ </p>
+ <h2>Assorted Contact Methods</h2>
+ <ul>
+  <li itemprop="tel" itemscope><span itemprop="value">+1 (310)
+  597 3781</span> <span itemprop="type">work</span> <meta
+  itemprop="type" content="pref"></li>
+  <li><a itemprop="url"
+  href="http://en.wikipedia.org/wiki/Jack_Bauer">I'm on
+  Wikipedia</a> so you can leave a message on my user talk
+  page.</li>
+  <li><a itemprop="url"
+  href="http://www.jackbauerfacts.com/">Jack Bauer Facts</a></li>
+  <li itemprop="email"><a
+  href="mailto:j.bauer at la.ctu.gov.invalid">j.bauer at la.ctu.gov.invalid</a></li>
+  <li itemprop="tel" itemscope><span itemprop="value">+1 (310) 555
+  3781</span> <span><meta itemprop="type" content="cell">mobile
+  phone</span></li>
+ </ul>
+ <p itemprop="note">If I'm out in the field, you may be better off
+ contacting <span itemprop="agent" itemscope
+ itemtype="http://microformats.org/profile/hcard"><a
+ itemprop="email" href="mailto:c.obrian at la.ctu.gov.invalid"><span
+ itemprop="fn">Chloe O'Brian</span></a></span> if it's about
+ work, or ask <span itemprop="agent">Tony Almeida</span> if
+ you're interested in the CTU five-a-side football team we're trying
+ to get going.</p>
+ <ins datetime="2008-07-20T21:00:00+0100">
+  <span itemprop="rev" itemscope>
+   <meta itemprop="type" content="date-time">
+   <meta itemprop="value" content="2008-07-20T21:00:00+0100">
+  </span>
+  <p itemprop="tel" itemscope><strong>Update!</strong>
+  My new <span itemprop="type">home</span> phone number is
+  <span itemprop="value">01632 960 123</span>.
+ </ins>
+</section></pre>
+
+  </div>
+
+  <div class="example">
+
+   <p>This example shows a site's contact details (using the
+   <code>address</code> element) containing an address with two street
+   components:</p>
+
+   <pre><address itemscope itemtype="http://microformats.org/profile/hcard">
+ <strong title="fn">Alfred Person</strong> <br>
+ <span itemprop="adr" itemscope>
+  <span itemprop="street-address">1600 Amphitheatre Parkway</span> <br>
+  <span itemprop="street-address">Building 43, Second Floor</span> <br>
+  <span itemprop="locality">Mountain View</span>,
+   <span itemprop="region">CA</span> <span itemprop="postal-code">94043</span>
+ </span>
+</address></pre>
+
+  </div>
+
+  <div class="example">
+
+   <p>The vCard vocabulary can be used to just mark up people's
+   names:</p>
+
+   <pre><span itemscope itemtype="http://microformats.org/profile/hcard"
+><span itemprop=fn>George Washington</span></span></pre>
+
+   <p>This creates a single item with a single name-value pair, with
+   the name "fn" and the value "George Washington". This is defined to
+   map to the following vCard:</p>
+
+   <pre>BEGIN:VCARD
+PROFILE:VCARD
+VERSION:3.0
+SOURCE:<var title="">document's address</var>
+FN:George Washington
+N:Washington;George;;;
+END:VCARD</pre>
+
+  </div>
+
+<!--END vCard-->
+
+  <h2 id="vevent"><span class="secno">3 </span>vEvent</h2>
+
+
+  <p>An item with the <span>item type</span> <dfn id="md-vevent" title="md-vevent"><code>http://microformats.org/profile/hcalendar#vevent</code></dfn>
+  represents an event.</p>
+
+  <p>The following are the type's <span title="defined property
+  name">defined property names</span>. They are based on the
+  vocabulary defined in the iCalendar specification, where more
+  information on how to interpret the values can be found. <a href="#refsRFC2445">[RFC2445]</a></p>
+
+  <p class="note">Only the parts of the iCalendar vocabulary relating
+  to events are used here; this vocabulary cannot express a complete
+  iCalendar instance.</p>
+
+  <dl><dt><dfn id="md-vevent-attach" title="md-vevent-attach"><code>attach</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the address of an associated document for the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-vevent-attach"><a href="#md-vevent-attach">attach</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-categories" title="md-vevent-categories"><code>categories</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the name of a category or tag that the event could be
+    classified as.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vevent-categories"><a href="#md-vevent-categories">categories</a></code> may be present
+    within each <span title="concept-item">item</span> with the type
+    <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-class" title="md-vevent-class"><code>class</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the access classification of the information regarding
+    the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text with one of the following values:</p>
+
+    <ul class="brief"><li><code title="">public</code></li>
+     <li><code title="">private</code></li>
+     <li><code title="">confidential</code></li>
+    </ul><p class="warning">This is merely advisory and cannot be
+    considered a confidentiality measure.</p>
+
+    <p>A single property with the name <code title="md-vevent-class"><a href="#md-vevent-class">class</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-comment" title="md-vevent-comment"><code>comment</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a comment regarding the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-vevent-comment"><a href="#md-vevent-comment">comment</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-description" title="md-vevent-description"><code>description</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a detailed description of the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>A single property with the name <code title="md-vevent-description"><a href="#md-vevent-description">description</a></code> may be present
+    within each <span title="concept-item">item</span> with the type
+    <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-geo" title="md-vevent-geo"><code>geo</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the geographical position of the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text and must match the following syntax:</p>
+
+    <ol><li>Optionally, either a U+002B PLUS SIGN character (+) or a
+     U+002D HYPHEN-MINUS character (-).</li>
+
+     <li>One or more digits in the range U+0030 DIGIT ZERO .. U+0039
+     DIGIT NINE.</li>
+
+     <li>Optionally*, a U+002E FULL STOP character (.) followed by one
+     or more digits in the range U+0030 DIGIT ZERO .. U+0039 DIGIT
+     NINE.</li>
+
+     <li>A U+003B SEMICOLON character (;).</li>
+
+     <li>Optionally, either a U+002B PLUS SIGN character (+) or a
+     U+002D HYPHEN-MINUS character (-).</li>
+
+     <li>One or more digits in the range U+0030 DIGIT ZERO .. U+0039
+     DIGIT NINE.</li>
+
+     <li>Optionally*, a U+002E FULL STOP character (.) followed by one
+     or more digits in the range U+0030 DIGIT ZERO .. U+0039 DIGIT
+     NINE.</li>
+
+    </ol><p>The optional components marked with an asterisk (*) should be
+    included, and should have six digits each.</p> <!-- iCalendar
+    actually limits the range to -91.0 < lat < 91.0; -181.0 < long <
+    181.0, which seems weird. It also gives special meanings to
+    +90/-90 lat, and +180 long. -->
+
+    <!-- copied from vcard (not icalendar!) -->
+    <p class="note">The value specifies latitude and longitude, in
+    that order (i.e., "LAT LON" ordering), in decimal degrees. The
+    longitude represents the location east and west of the prime
+    meridian as a positive or negative real number, respectively.  The
+    latitude represents the location north and south of the equator as
+    a positive or negative real number, respectively.</p>
+
+    <p>A single property with the name <code title="md-vevent-geo"><a href="#md-vevent-geo">geo</a></code> may be present within each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-location" title="md-vevent-location"><code>location</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the location of the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p> <!-- v2: support vcard here -->
+
+    <p>A single property with the name <code title="md-vevent-location"><a href="#md-vevent-location">location</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <!-- PRIORITY not included - always 0 - doesn't make sense for single events -->
+
+
+   <dt><dfn id="md-vevent-resources" title="md-vevent-resources"><code>resources</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a resource that will be needed for the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p> <!-- v2: support vcard here -->
+
+    <p>Any number of properties with the name <code title="md-vevent-resources"><a href="#md-vevent-resources">resources</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-status" title="md-vevent-status"><code>status</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the confirmation status of the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text with one of the following values:</p>
+
+    <ul class="brief"><li><code title="">tentative</code></li>
+     <li><code title="">confirmed</code></li>
+     <li><code title="">cancelled</code></li> <!-- two Ls as per iCalendar spec -->
+    </ul><p>A single property with the name <code title="md-vevent-status"><a href="#md-vevent-status">status</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-summary" title="md-vevent-summary"><code>summary</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a short summary of the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p>
+
+    <p>User agents should replace U+000A LINE FEED (LF) characters in
+    the <span title="concept-property-value">value</span> by U+0020
+    SPACE characters when using the value.</p>
+
+    <p>A single property with the name <code title="md-vevent-summary"><a href="#md-vevent-summary">summary</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-dtend" title="md-vevent-dtend"><code>dtend</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the date and time by which the event ends.</p>
+
+    <p>If the property with the name <code title="md-vevent-dtend"><a href="#md-vevent-dtend">dtend</a></code> is present within an <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>
+    that has a property with the name <code title="md-vevent-dtstart"><a href="#md-vevent-dtstart">dtstart</a></code> whose value is a
+    <span>valid date string</span>, then the <span title="concept-property-value">value</span> of the property with
+    the name <code title="md-vevent-dtend"><a href="#md-vevent-dtend">dtend</a></code> must be text
+    that is a <span>valid date string</span> also. Otherwise, the
+    <span title="concept-property-value">value</span> of the property
+    must be text that is a <span>valid global date and time
+    string</span>.</p>
+
+    <p>In either case, the <span title="concept-property-value">value</span> be later in time than
+    the value of the <code title="md-event-dtstart">dtstart</code>
+    property of the same <span title="concept-item">item</span>.</p>
+
+    <p class="note">The time given by the <code title="md-vevent-dtend"><a href="#md-vevent-dtend">dtend</a></code> property is not
+    inclusive. For day-long events, therefore, the the <code title="md-vevent-dtend"><a href="#md-vevent-dtend">dtend</a></code> property's <span title="concept-property-value">value</span> will be the day
+    <em>after</em> the end of the event.</p>
+
+    <p>A single property with the name <code title="md-vevent-dtend"><a href="#md-vevent-dtend">dtend</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>,
+    so long as that <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>
+    does not have a property with the name <code title="md-vevent-duration"><a href="#md-vevent-duration">duration</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-dtstart" title="md-vevent-dtstart"><code>dtstart</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the date and time at which the event starts.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is either a <span>valid date string</span> or a
+    <span>valid global date and time string</span>.</p>
+
+    <p>Exactly one property with the name <code title="md-vevent-dtstart"><a href="#md-vevent-dtstart">dtstart</a></code> must be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-duration" title="md-vevent-duration"><code>duration</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the date and time at which the event starts.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is a <a href="#valid-vevent-duration-string">valid vevent duration string</a>.</p>
+
+    <p>The duration represented is the sum of all the durations
+    represented by integers in the value.</p>
+
+    <p>A single property with the name <code title="md-vevent-duration"><a href="#md-vevent-duration">duration</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>,
+    so long as that <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>
+    does not have a property with the name <code title="md-vevent-dtend"><a href="#md-vevent-dtend">dtend</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-transp" title="md-vevent-transp"><code>transp</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives whether the event is to be considered as consuming time
+    on a calendar, for the purpose of free-busy time searches.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text with one of the following values:</p>
+
+    <ul class="brief"><li><code title="">opaque</code></li>
+     <li><code title="">transparent</code></li>
+    </ul><p>A single property with the name <code title="md-vevent-transp"><a href="#md-vevent-transp">transp</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <!-- ATTENDEE not included; iCalendar says MUST NOT be included in
+   published events -->
+
+
+   <dt><dfn id="md-vevent-contact" title="md-vevent-contact"><code>contact</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the contact information for the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text.</p> <!-- v2: support vcard here -->
+
+    <p>Any number of properties with the name <code title="md-vevent-contact"><a href="#md-vevent-contact">contact</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <!-- ORGANIZER not included, as it is calendar-system-specific
+   (gives a CAL-ADDRESS value); use CONTACT instead -->
+
+
+   <!-- RECURRENCE-ID not included... unclear how to make it usefully
+   work here -->
+
+
+   <!-- RELATED-TO not included, as it only makes sense for complete
+   calendars -->
+
+
+   <dt><dfn id="md-vevent-url" title="md-vevent-url"><code>url</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a <span>URL</span> for the event.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>A single property with the name <code title="md-vevent-url"><a href="#md-vevent-url">url</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <!-- UID not included - use "itemid" -->
+
+
+   <dt><dfn id="md-vevent-exdate" title="md-vevent-exdate"><code>exdate</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a date and time at which the event does not occur despite
+    the recurrence rules.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is either a <span>valid date string</span> or a
+    <span>valid global date and time string</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-vevent-exdate"><a href="#md-vevent-exdate">exdate</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-exrule" title="md-vevent-exrule"><code>exrule</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a rule for finding dates and times at which the event
+    does not occur despite the recurrence rules.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that matches the RECUR value type defined in the iCalendar
+    specification. <a href="#refsRFC2445">[RFC2445]</a></p>
+
+    <p>Any number of properties with the name <code title="md-vevent-exrule"><a href="#md-vevent-exrule">exrule</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-rdate" title="md-vevent-rdate"><code>rdate</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a date and time at which the event recurs.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is one of the following:
+
+    <ul><li>A <span>valid date string</span>.</li>
+
+     <li>A <span>valid global date and time string</span>.</li>
+
+     <li>A <span>valid global date and time string</span> followed by
+     a U+002F SOLIDUS character (/) followed by a second <span>valid
+     global date and time string</span> representing a later time.</li>
+
+     <li>A <span>valid global date and time string</span> followed by
+     a U+002F SOLIDUS character (/) followed by a <a href="#valid-vevent-duration-string">valid vevent
+     duration string</a>.</li>
+
+    </ul><p>Any number of properties with the name <code title="md-vevent-rdate"><a href="#md-vevent-rdate">rdate</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-rrule" title="md-vevent-rrule"><code>rrule</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a rule for finding dates and times at which the event
+    occurs.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that matches the RECUR value type defined in the iCalendar
+    specification. <a href="#refsRFC2445">[RFC2445]</a></p>
+
+    <p>Any number of properties with the name <code title="md-vevent-rrule"><a href="#md-vevent-rrule">rrule</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-created" title="md-vevent-created"><code>created</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the date and time at which the event information was first
+    created in a calendaring system.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is a <span>valid global date and time string</span>.</p>
+
+    <p>A single property with the name <code title="md-vevent-created"><a href="#md-vevent-created">created</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <!-- DTSTAMP not included, it gets added when serialising -->
+
+
+   <dt><dfn id="md-vevent-last-modified" title="md-vevent-last-modified"><code>last-modified</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the date and time at which the event information was last
+    modified in a calendaring system.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is a <span>valid global date and time string</span>.</p>
+
+    <p>A single property with the name <code title="md-vevent-last-modified"><a href="#md-vevent-last-modified">last-modified</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-vevent-sequence" title="md-vevent-sequence"><code>sequence</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives a revision number for the event information.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    text that is a <span>valid non-negative integer</span>.</p>
+
+    <p>A single property with the name <code title="md-vevent-sequence"><a href="#md-vevent-sequence">sequence</a></code> may be present within
+    each <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>.</p>
+
+   </dd>
+
+
+   <!-- REQUEST-STATUS not included, calendaring system interop
+   feature -->
+
+
+  </dl><p>A string is a <dfn id="valid-vevent-duration-string">valid vevent duration string</dfn> if it
+  matches the following pattern:</p>
+
+  <ol><li>A U+0050 LATIN CAPITAL LETTER P character.</li>
+
+   <li>One of the following:
+
+    <ul><li> A <span>valid non-negative integer</span> followed by a
+     U+0057 LATIN CAPITAL LETTER W character. The integer represents
+     a duration of that number of weeks. </li>
+
+     <li> At least one, and possible both in this order, of the
+     following:
+
+      <ol><li> A <span>valid non-negative integer</span> followed by a
+       U+0044 LATIN CAPITAL LETTER D character. The integer
+       represents a duration of that number of days. </li>
+
+       <li> A U+0054 LATIN CAPITAL LETTER T character followed by
+       any one of the following, or the first and second of the
+       following in that order, or the second and third of the
+       following in that order, or all three of the following in
+       this order:
+
+        <ol><li> A <span>valid non-negative integer</span> followed by
+         a U+0048 LATIN CAPITAL LETTER H character. The integer
+         represents a duration of that number of hours. </li>
+
+         <li> A <span>valid non-negative integer</span> followed by
+         a U+004D LATIN CAPITAL LETTER M character. The integer
+         represents a duration of that number of minutes. </li>
+
+         <li> A <span>valid non-negative integer</span> followed by
+         a U+0053 LATIN CAPITAL LETTER S character. The integer
+         represents a duration of that number of seconds. </li>
+
+        </ol></ol></li>
+
+    </ul></li>
+
+  </ol><h3 id="conversion-to-icalendar"><span class="secno">3.1 </span>Conversion to iCalendar</h3>
+
+  <p>Given a list of nodes <var title="">nodes</var> in a
+  <code>Document</code>, a user agent must run the following algorithm
+  to <dfn id="extracting-vevent-data" title="extracting vEvent data">extract any vEvent data
+  represented by those nodes</dfn>:</p>
+
+  <ol><li><p>If none of the nodes in <var title="">nodes</var> are <span title="concept-item">items</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>,
+   then there is no vEvent data. Abort the algorithm, returning
+   nothing.</li>
+
+   <li><p>Let <var title="">output</var> be an empty string.</li>
+
+   <li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">BEGIN</code>" and the value "<code title="">VCALENDAR</code>" to <var title="">output</var>.</li>
+
+   <li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">PRODID</code>" and the value equal to a
+   user-agent-specific string representing the user agent to <var title="">output</var>.</li>
+
+   <li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">VERSION</code>" and the value "<code title="">2.0</code>"
+   to <var title="">output</var>.</li>
+
+   <li>
+
+    <p>For each node <var title="">node</var> in <var title="">nodes</var> that is an <span title="concept-item">item</span> with the type <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>,
+    run the following steps:</p>
+
+    <ol><li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">BEGIN</code>" and the value "<code title="">VEVENT</code>" to <var title="">output</var>.</li>
+
+     <li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">DTSTAMP</code>" and a value consisting of an iCalendar
+     DATE-TIME string representing the current date and time, with the
+     annotation "<code title="">VALUE=DATE-TIME</code>", to <var title="">output</var>.  <a href="#refsRFC2445">[RFC2445]</a></li>
+
+     <li><p>If the <span title="concept-item">item</span> has a
+     <span>global identifier</span>, <a href="#add-an-icalendar-line">add an iCalendar
+     line</a> with the type "<code title="">UID</code>" and that
+     <span>global identifier</span> as the value to <var title="">output</var>.</li>
+
+     <li>
+
+      <p>For each element <var title="">element</var> that is <span title="the properties of an item">a property of the item</span>
+      <var title="">node</var>: for each name <var title="">name</var>
+      in <var title="">element</var>'s <span>property names</span>,
+      run the appropriate set of substeps from the following list:</p>
+
+      <dl><dt>If the property's <span title="concept-property-value">value</span> is an <span title="concept-item">item</span></dt>
+
+       <dd>
+
+        <p>Skip the property.</p>
+
+       </dd>
+
+
+       <dt>If <var title="">element</var> is a <code>time</code>
+       element</dt>
+
+       <dd>
+
+        <p>Let <var title="">value</var> be the result of stripping
+        all U+002D HYPHEN-MINUS (-) and U+003A COLON (:) characters
+        from the property's <span title="concept-property-value">value</span>.</p>
+
+        <p>If the property's <span title="concept-property-value">value</span> is a <span>valid
+        date string</span> then <a href="#add-an-icalendar-line">add an iCalendar line</a>
+        with the type <var title="">name</var> and the value <var title="">value</var> to <var title="">output</var>, with the
+        annotation "<code title="">VALUE=DATE</code>".</p>
+
+        <p>Otherwise, if the property's <span title="concept-property-value">value</span> is a <span>valid
+        global date and time string</span> then <a href="#add-an-icalendar-line">add an iCalendar
+        line</a> with the type <var title="">name</var> and the
+        value <var title="">value</var> to <var title="">output</var>,
+        with the annotation "<code title="">VALUE=DATE-TIME</code>".</p>
+
+        <p>Otherwise skip the property.</p>
+
+       </dd>
+
+
+       <dt>Otherwise</dt>
+
+       <dd>
+
+        <p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type <var title="">name</var> and the value <var title="">value</var> to
+        <var title="">output</var>.</p>
+
+       </dd>
+
+      </dl></li>
+
+     <li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">END</code>" and the value "<code title="">VEVENT</code>"
+     to <var title="">output</var>.</li>
+
+    </ol></li>
+
+   <li><p><a href="#add-an-icalendar-line">Add an iCalendar line</a> with the type "<code title="">END</code>" and the value "<code title="">VCALENDAR</code>" to <var title="">output</var>.</li>
+
+  </ol><p>When the above algorithm says that the user agent is to <dfn id="add-an-icalendar-line">add
+  an iCalendar line</dfn> consisting of a type <var title="">type</var>, a value <var title="">value</var>, and
+  optionally an annotation, to a string <var title="">output</var>, it
+  must run the following steps:</p>
+
+  <ol><li><p>Let <var title="">line</var> be an empty string.</li>
+
+   <li><p>Append <var title="">type</var>, <span>converted to
+   ASCII uppercase</span>, to <var title="">line</var>.</li>
+
+   <li>
+
+    <p>If there is an annotation:</p>
+
+    <ol><li><p>Append a U+003B SEMICOLON character (;) to <var title="">line</var>.</li>
+
+     <li><p>Append the annotation to <var title="">line</var>.</li>
+
+    </ol></li>
+
+   <li><p>Append a U+003A COLON character (:) to <var title="">line</var>.</li>
+
+   <li><p>Prefix every U+005C REVERSE SOLIDUS character (\) in
+   <var title="">value</var> with another U+005C REVERSE SOLIDUS
+   character (\).</li>
+
+   <li><p>Prefix every U+002C COMMA character (,) in <var title="">value</var> with a U+005C REVERSE SOLIDUS character
+   (\).</li>
+
+   <li><p>Prefix every U+003B SEMICOLON character (;) in <var title="">value</var> with a U+005C REVERSE SOLIDUS character
+   (\).</li>
+
+   <li><p>Replace every U+000D CARRIAGE RETURN U+000A LINE FEED
+   character pair (CRLF) in <var title="">value</var> with a
+   U+005C REVERSE SOLIDUS character (\) followed by a U+006E
+   LATIN SMALL LETTER N.</li>
+
+   <li><p>Replace every remaining U+000D CARRIAGE RETURN (CR) or
+   U+000A LINE FEED (LF) character in <var title="">value</var>
+   with a U+005C REVERSE SOLIDUS character (\) followed by a
+   U+006E LATIN SMALL LETTER N.</li>
+
+   <li><p>Append <var title="">value</var> to <var title="">line</var>.</li>
+
+   <li><p>Let <var title="">maximum length</var> be 75.</li>
+
+   <li>
+
+    <p>If and while <var title="">line</var> is longer than <var title="">maximum length</var> Unicode code points long, run the
+    following substeps:</p>
+
+    <ol><li><p>Append the first <var title="">maximum length</var>
+     Unicode code points of <var title="">line</var> to <var title="">output</var>.</li>
+
+     <li><p>Remove the first <var title="">maximum length</var>
+     Unicode code points from <var title="">line</var>.</li>
+
+     <li><p>Append a U+000D CARRIAGE RETURN character (CR) to <var title="">output</var>.</li>
+
+     <li><p>Append a U+000A LINE FEED character (LF) to <var title="">output</var>.</li>
+
+     <li><p>Append a U+0020 SPACE character to <var title="">output</var>.</li>
+
+     <li><p>Let <var title="">maximum length</var> be 74.</li>
+
+    </ol></li>
+
+   <li><p>Append (what remains of) <var title="">line</var> to <var title="">output</var>.</li>
+
+   <li><p>Append a U+000D CARRIAGE RETURN character (CR) to <var title="">output</var>.</li>
+
+   <li><p>Append a U+000A LINE FEED character (LF) to <var title="">output</var>.</li>
+
+  </ol><p class="note">This algorithm can generate invalid iCalendar
+  output, if the input does not conform to the rules described for the
+  <code title="md-vevent"><a href="#md-vevent">http://microformats.org/profile/hcalendar#vevent</a></code>
+  <span>item type</span> and <span title="defined property
+  name">defined property names</span>.</p> <!-- of course since
+  iCalendar doesn't define error handling, this is somewhat
+  problematic. -->
+
+
+
+  <h3 id="examples-0"><span class="secno">3.2 </span>Examples</h3>
+
+<!-- get more from http://www.ietf.org/rfc/rfc2445.txt -->
+
+  <div class="example">
+
+   <p>Here is an example of a page that uses the vEvent vocabulary to
+   mark up an event:</p>
+
+   <pre><body itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
+ ...
+ <h1 itemprop="summary">Bluesday Tuesday: Money Road</h1>
+ ...
+ <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th @ 7pm</time>
+ (until <time itemprop="dtend" datetime="2009-05-05T21:00:00Z">9pm</time>)
+ ...
+ <a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
+    rel="bookmark" itemprop="url">Link to this page</a>
+ ...
+ <p>Location: <span itemprop="location">The RoadHouse</span></p>
+ ...
+ <p><input type=button value="Add to Calendar"
+           onclick="location = getCalendar(this)"></p>
+ ...
+ <meta itemprop="description" content="via livebrum.co.uk">
+</body></pre>
+
+   <p>The "<code title="">getCalendar()</code>" method could look like
+   this:</p>
+
+   <pre>function getCalendar(node) {
+  while (node && (!node.nodeScope || !node.itemType == 'http://microformats.org/profile/hcalendar#vevent'))
+    node = node.parentNode;
+  if (!node) {
+    alert('No event data found.');
+    return;
+  }
+  var stamp = new Date();
+  var stampString = '' + stamp.getUTCFullYear() + (stamp.getUTCMonth() + 1) + stamp.getUTCDate() + 'T' +
+                         stamp.getUTCHours() + stamp.getUTCMinutes() + stamp.getUTCSeconds() + 'Z';
+  var calendar = 'BEGIN:VCALENDAR\r\nPRODID:HTML\r\nVERSION:2.0\r\nBEGIN:VEVENT\r\nDTSTAMP:' + stampString + '\r\n';
+  if (node.itemId)
+    calendar += 'UID:' + node.itemId + '\r\n';
+  for (var propIndex = 0; propIndex < node.properties.length; propIndex += 1) {
+    var prop = node.properties[propIndex];
+    var value = prop.contents;
+    var parameters = '';
+    if (prop.localName == 'time') {
+      value = value.replace(/[:-]/g, '');
+      if (prop.date && prop.time)
+        parameters = ';VALUE=DATE';
+      else
+        parameters = ';VALUE=DATE-TIME';
+    } else {
+      value = value.replace(/\\/g, '\\n');
+      value = value.replace(/;/g, '\\;');
+      value = value.replace(/,/g, \\,');
+      value = value.replace(/\n/g, '\\n');
+    }
+    for (var nameIndex = 0; nameIndex < prop.itemProp.length; nameIndex += 1) {
+      var name = prop.itemProp[nameIndex];
+      if (!name.match(':') && !name.match('.'))
+        calendar += name.toUpperCase() + parameters + ':' + value + '\r\n';
+    }
+  }
+  calendar += 'END:VEVENT\r\nEND:VCALENDAR\r\n';
+  return 'data:text/calendar;component=vevent,' + encodeURI(calendar);
+}</pre>
+
+   <p>The same page could offer some markup, such as the following,
+   for copy-and-pasting into blogs:</p>
+
+   <pre><div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
+ <p>I'm going to
+ <strong itemprop="summary">Bluesday Tuesday: Money Road</strong>,
+ <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th at 7pm</time>
+ to <time itemprop="dtend" content="2009-05-05T21:00:00Z">9pm</time>,
+ at <span itemprop="location">The RoadHouse</span>!</p>
+ <p><a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
+       itemprop="url">See this event on livebrum.co.uk</a>.</p>
+ <meta itemprop="description" content="via livebrum.co.uk">
+</div></pre>
+
+  </div>
+
+<!--END vEvent-->
+
+  <h2 id="licensing-works"><span class="secno">4 </span>Licensing works</h2>
+
+
+  <p>An item with the <span>item type</span> <dfn id="md-work" title="md-work"><code>http://n.whatwg.org/work</code></dfn>
+  represents a work (e.g. an article, an image, a video, a song,
+  etc). This type is primarily intended to allow authors to include
+  licensing information for works.</p>
+
+  <p>The following are the type's <span title="defined property
+  name">defined property names</span>.</p>
+
+  <dl><dt><dfn id="md-work-work" title="md-work-work"><code>work</code></dfn></dt>
+
+   <dd>
+
+    <p>Identifies the work being described.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Exactly one property with the name <code title="md-work-work"><a href="#md-work-work">work</a></code> must be present within each <span title="concept-item">item</span> with the type <code title="md-work"><a href="#md-work">http://n.whatwg.org/work</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-work-title" title="md-work-title"><code>title</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the name of the work.</p>
+
+    <p>A single property with the name <code title="md-work-title"><a href="#md-work-title">title</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-work"><a href="#md-work">http://n.whatwg.org/work</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-work-author" title="md-work-author"><code>author</code></dfn></dt>
+
+   <dd>
+
+    <p>Gives the name or contact information of one of the authors or
+    creators of the work.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    either an <span title="concept-item">item</span> with the type
+    <code title="md-vcard"><a href="#md-vcard">http://microformats.org/profile/hcard</a></code>, or
+    text.</p>
+
+    <p>Any number of properties with the name <code title="md-work-author"><a href="#md-work-author">author</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-work"><a href="#md-work">http://n.whatwg.org/work</a></code>.</p>
+
+   </dd>
+
+
+   <dt><dfn id="md-work-license" title="md-work-license"><code>license</code></dfn></dt>
+
+   <dd>
+
+    <p>Identifies one of the licenses under which the work is
+    available.</p>
+
+    <p>The <span title="concept-property-value">value</span> must be
+    an <span>absolute URL</span>.</p>
+
+    <p>Any number of properties with the name <code title="md-work-license"><a href="#md-work-license">license</a></code> may be present within each
+    <span title="concept-item">item</span> with the type <code title="md-work"><a href="#md-work">http://n.whatwg.org/work</a></code>.</p>
+
+   </dd>
+
+  </dl><h3 id="conversion-to-rdf"><span class="secno">4.1 </span>Conversion to RDF</h3>
+
+  <p>For the purposes of RDF processors, blank nodes that are the
+  subject of a triple with the predicate "<code title="">http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Awork</code>"
+  and the object <var title="">s</var> must be treated as if the node
+  was identified by <var title="">s</var>.</p>
+
+  <p>For the purposes of RDF processors, the predicate "<code title="">http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Atitle</code>"
+  must be considered equivalent to the predicate "<code title="">http://purl.org/dc/elements/1.1/title</code>".
+
+  <p>For the purposes of RDF processors, the predicate "<code title="">http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Aauthor</code>"
+  must be considered equivalent to the predicate "<code title="">http://creativecommons.org/ns#attributionName</code>".
+
+  <p>For the purposes of RDF processors, the predicate "<code title="">http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fn.whatwg.org%2Fwork%23%3Alicense</code>"
+  must be considered equivalent to the predicate "<code title="">http://www.w3.org/1999/xhtml/vocab#license</code>".
+
+
+
+
+  <h3 id="examples-1"><span class="secno">4.2 </span>Examples</h3>
+
+  <div class="example">
+
+   <p>This example shows an embedded image entitled <cite>My
+   Pond</cite>, licensed under the Creative Commons Attribution-Share
+   Alike 3.0 United States License and the MIT license
+   simultaneously.</p>
+
+   <pre><figure <strong>itemscope itemtype="http://n.whatwg.org/work"</strong>>
+ <dd><img <strong>itemprop="work"</strong> src="mypond.jpeg">
+ <dt>
+  <p><cite <strong>itemprop="title"</strong>>My Pond</cite></p>
+  <p><small>Licensed under the <a <strong>itemprop="license"</strong>
+  href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative
+  Commons Attribution-Share Alike 3.0 United States License</a>
+  and the <a <strong>itemprop="license"</strong>
+  href="http://www.opensource.org/licenses/mit-license.php">MIT
+  license</a>.</small>
+</figure></pre>
+
+  </div>
+
+  
+
+
+  <h2 class="no-num" id="references">References</h2><!--REFS-->
+
+
+  <dl><dt id="refsE163">[E163]</dt>
+   <dd><cite>Recommendation E.163 — Numbering Plan for The International
+   Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November
+   1988.</dd>
+
+   <dt id="refsHTML5">[HTML5]</dt>
+   <!--
+   <dd><cite><a href="http://www.w3.org/TR/html5/">HTML5</a></cite>,
+   I. Hickson, D. Hyatt. W3C, April 2009.</dd>
+   <dd><cite><a
+   href="http://www.w3.org/html/wg/html5/">HTML5</a></cite>,
+   I. Hickson, D. Hyatt. W3C, August 2009.</dd>
+   -->
+   <dd><cite><a href="http://www.whatwg.org/specs/web-apps/current-work/">HTML5</a></cite>,
+   I. Hickson. WHATWG, August 2009.</dd>
+
+   <dt id="refsRFC2426">[RFC2426]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2426.txt">vCard MIME Directory
+   Profile</a></cite>, F. Dawson, T. Howes. IETF, September 1998.</dd>
+
+   <dt id="refsRFC2445">[RFC2445]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc2445.txt">Internet Calendaring
+   and Scheduling Core Object Specification (iCalendar)</a></cite>, F. Dawson, D.
+   Stenerson. IETF, November 1998.</dd>
+
+   <dt id="refsRFC4770">[RFC4770]</dt>
+   <dd><cite><a href="http://www.ietf.org/rfc/rfc4770.txt">vCard Extensions for
+   Instant Messaging (IM)</a></cite>, C. Jennings, J. Reschke. IETF,
+   January 2007.</dd>
+
+   <dt id="refsX121">[X121]</dt>
+   <dd><cite>Recommendation X.121 — International Numbering Plan for
+   Public Data Networks</cite>, CCITT Blue Book, Fascicle VIII.3,
+   pp. 317-332, November 1988.</dd>
+
+  </dl>




More information about the Commit-Watchers mailing list