[html5] r6790 - Remove historical file
whatwg at whatwg.org
whatwg at whatwg.org
Mon Oct 31 09:04:25 PDT 2011
Author: ianh
Date: 2011-10-31 09:04:24 -0700 (Mon, 31 Oct 2011)
New Revision: 6790
Removed:
vocabs-index
Log:
Remove historical file
Deleted: vocabs-index
===================================================================
--- vocabs-index 2011-10-30 18:11:50 UTC (rev 6789)
+++ vocabs-index 2011-10-31 16:04:24 UTC (rev 6790)
@@ -1,2829 +0,0 @@
-<!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; }
-
- .details-example img { vertical-align: top; }
-
- </style><body class="cfc">
-
- <header class="head"><p><a class="logo" href="http://www.whatwg.org/" rel="home"><img alt="WHATWG" src="/images/logo"></a></p>
- <hgroup><h1>Microdata Vocabularies: vCard, vEvent, and works</h1>
- <h2 class="no-num no-toc">Draft Standard — 8 January 2010</h2>
- </hgroup><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>
- </header><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>
-
-
-
- <h2 class="no-num no-toc" id="contents">Table of contents</h2>
-
-<!--begin-toc-->
-<ol class="toc">
- <li>
- <ol>
- <li><a href="#introduction"><span class="secno">0.1 </span>Introduction</a></ol></li>
- <li><a href="#vcard"><span class="secno">1 </span>vCard</a>
- <ol>
- <li><a href="#conversion-to-vcard"><span class="secno">1.1 </span>Conversion to vCard</a></li>
- <li><a href="#examples"><span class="secno">1.2 </span>Examples</a></ol></li>
- <li><a href="#vevent"><span class="secno">2 </span>vEvent</a>
- <ol>
- <li><a href="#conversion-to-icalendar"><span class="secno">2.1 </span>Conversion to iCalendar</a></li>
- <li><a href="#examples-0"><span class="secno">2.2 </span>Examples</a></ol></li>
- <li><a href="#licensing-works"><span class="secno">3 </span>Licensing works</a>
- <ol>
- <li><a href="#conversion-to-rdf"><span class="secno">3.1 </span>Conversion to RDF</a></li>
- <li><a href="#examples-1"><span class="secno">3.2 </span>Examples</a></ol></li>
- <li><a class="no-num" href="#references">References</a></ol>
-<!--end-toc-->
- <hr><h4 id="introduction"><span class="secno">0.1 </span>Introduction</h4>
-
- <p>This specification defines microdata vocabularies.
- <a href="#refsHTML5">[HTML5]</a></p>
- <h2 id="vcard"><span class="secno">1 </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>This vocabulary <span title="support global identifiers for
- items">supports global identifiers for items</span>.</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 (0) to
- U+0039 DIGIT NINE (9).</li>
-
- <li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</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 (0) to U+0039
- DIGIT NINE (9).</li>
-
- <li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</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">1.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 <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 character (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 character (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 character (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 character (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">1.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>
-
-
-
- <h2 id="vevent"><span class="secno">2 </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>This vocabulary <span title="support global identifiers for
- items">supports global identifiers for items</span>.</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 (0) to U+0039
- DIGIT NINE (9).</li>
-
- <li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</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 (0) to U+0039
- DIGIT NINE (9).</li>
-
- <li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</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 <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 (P).</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 (W). 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 (D). The integer
- represents a duration of that number of days. </li>
-
- <li> A U+0054 LATIN CAPITAL LETTER T character (T) 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 (H). 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 (M). 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 (S). 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">2.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 character (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 character (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">2.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.itemValue;
- 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>
-
-
-
- <h2 id="licensing-works"><span class="secno">3 </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">3.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">3.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-->
-
-
-<!-- XXX really should remove dates and version numbers from these references once and for all -->
-
- <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="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