HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
4070Split out the microdata vocabularies into their own specs2009-10-04 10:23
@@ -50127,24 +50127,46 @@ document.body.appendChild(outer);</pre>
 
   </div>
 
 
 <!--END html5-->
 
   <h3>Microdata vocabularies</h3>
 
 <!--START vocabs-->
 
+  <h3 class="no-num no-toc">Table of contents</h3>
+  <!--toc-->
+  <hr>
+
+  <h4>Introduction</h4>
+
+  <p>This specification defines microdata vocabularies. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+
   <h4>vCard</h4>
 
+<!--END vocabs-->
 <!--START vCard-->
 
+  <h4 class="no-num no-toc">Table of contents</h4>
+  <!--toc-->
+  <hr>
+
+  <h5>The vocabulary</h5>
+
+  <p>This section defines a microdata vocabulary. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+<!--START vocabs-->
+
   <p>An item with the <span>item type</span> <dfn
   title="md-vcard"><code>http://microformats.org/profile/hcard</code></dfn>
   represents a person's or organization's contact information.</p>
 
   <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>
@@ -52371,24 +52393,36 @@ SOURCE:<var title="">document's address</var>
 FN:George Washington
 N:Washington;George;;;
 END:VCARD</pre>
 
   </div>
 
 <!--END vCard-->
 
   <h4>vEvent</h4>
 
+<!--END vocabs-->
 <!--START vEvent-->
 
+  <h4 class="no-num no-toc">Table of contents</h4>
+  <!--toc-->
+  <hr>
+
+  <h5>The vocabulary</h5>
+
+  <p>This section defines a microdata vocabulary. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+<!--START vocabs-->
+
   <p>An item with the <span>item type</span> <dfn
-  title="md-vevent"><code>http://microformats.org/profile/hcalendar</code></dfn>
+  title="md-vevent"><code>http://microformats.org/profile/hcalendar#vevent</code></dfn>
   represents an event.</p>
 
   <p>The following are the type's <span title="defined property
   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
@@ -52402,39 +52436,39 @@ END:VCARD</pre>
    <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">attach</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">categories</code> may be present
     within each <span title="concept-item">item</span> with the type
-    <code title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    <code title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn title="md-vevent-class"><code>class</code></dfn></dt>
 
    <dd>
 
     <p>Gives the access classification of the information regarding
     the event.</p>
@@ -52447,55 +52481,55 @@ END:VCARD</pre>
      <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">class</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">comment</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">description</code> may be present
     within each <span title="concept-item">item</span> with the type
-    <code title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    <code title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn title="md-vevent-geo"><code>geo</code></dfn></dt>
 
    <dd>
 
     <p>Gives the geographical position of the event.</p>
 
@@ -52538,58 +52572,58 @@ END:VCARD</pre>
     <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">geo</code> may be present within each <span
     title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">location</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <!-- PRIORITY not included - always 0 - doesn't make sense for single events -->
 
 
    <dt><dfn 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">resources</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn title="md-vevent-status"><code>status</code></dfn></dt>
 
    <dd>
 
     <p>Gives the confirmation status of the event.</p>
 
@@ -52598,56 +52632,56 @@ END:VCARD</pre>
 
     <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">status</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">summary</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">dtend</code> is present within an <span
     title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
     that has a property with the name <code
     title="md-vevent-dtstart">dtstart</code> whose value is a
     <span>valid date string</span>, then the <span
     title="concept-property-value">value</span> of the property with
     the name <code title="md-vevent-dtend">dtend</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>
 
@@ -52659,65 +52693,65 @@ END:VCARD</pre>
     <p class="note">The time given by the <code
     title="md-vevent-dtend">dtend</code> property is not
     inclusive. For day-long events, therefore, the the <code
     title="md-vevent-dtend">dtend</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">dtend</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>,
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
     so long as that <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
     does not have a property with the name <code
     title="md-vevent-duration">duration</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">dtstart</code> must be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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 <span>valid vevent duration string</span>.</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">duration</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>,
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
     so long as that <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
     does not have a property with the name <code
     title="md-vevent-dtend">dtend</code>.</p>
 
    </dd>
 
 
    <dt><dfn title="md-vevent-transp"><code>transp</code></dfn></dt>
 
    <dd>
 
@@ -52728,42 +52762,42 @@ END:VCARD</pre>
     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">transp</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <!-- ATTENDEE not included; iCalendar says MUST NOT be included in
    published events -->
 
 
    <dt><dfn 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">contact</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <!-- 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 -->
@@ -52778,21 +52812,21 @@ END:VCARD</pre>
    <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">url</code> may be present within each
     <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <!-- UID not included - use "itemid" -->
 
 
    <dt><dfn title="md-vevent-exdate"><code>exdate</code></dfn></dt>
 
    <dd>
@@ -52800,40 +52834,40 @@ END:VCARD</pre>
     <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">exdate</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">exrule</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn title="md-vevent-rdate"><code>rdate</code></dfn></dt>
 
    <dd>
 
     <p>Gives a date and time at which the event recurs.</p>
 
@@ -52852,96 +52886,96 @@ END:VCARD</pre>
 
      <li>A <span>valid global date and time string</span> followed by
      a U+002F SOLIDUS character (/) followed by a <span>valid vevent
      duration string</span>.</li>
 
     </ul>
 
     <p>Any number of properties with the name <code
     title="md-vevent-rdate">rdate</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">rrule</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">created</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <!-- DTSTAMP not included, it gets added when serialising -->
 
 
    <dt><dfn 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">last-modified</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <dt><dfn 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">sequence</code> may be present within
     each <span title="concept-item">item</span> with the type <code
-    title="md-vevent">http://microformats.org/profile/hcalendar</code>.</p>
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>.</p>
 
    </dd>
 
 
    <!-- REQUEST-STATUS not included, calendaring system interop
    feature -->
 
 
   </dl>
 
@@ -53006,21 +53040,21 @@ END:VCARD</pre>
 
   <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 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">http://microformats.org/profile/hcalendar</code>,
+   title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
    then there is no vEvent data. Abort the algorithm, returning
    nothing.</p></li>
 
    <li><p>Let <var title="">output</var> be an empty string.</p></li>
 
    <li><p><span>Add an iCalendar line</span> with the type "<code
    title="">BEGIN</code>" and the value "<code
    title="">VCALENDAR</code>" to <var title="">output</var>.</p></li>
 
    <li><p><span>Add an iCalendar line</span> with the type "<code
@@ -53030,21 +53064,21 @@ END:VCARD</pre>
 
    <li><p><span>Add an iCalendar line</span> with the type "<code
    title="">VERSION</code>" and the value "<code title="">2.0</code>"
    to <var title="">output</var>.</p></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">http://microformats.org/profile/hcalendar</code>,
+    title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>,
     run the following steps:</p>
 
     <ol>
 
      <li><p><span>Add an iCalendar line</span> with the type "<code
      title="">BEGIN</code>" and the value "<code
      title="">VEVENT</code>" to <var title="">output</var>.</p></li>
 
      <li><p><span>Add an iCalendar line</span> with the type "<code
      title="">DTSTAMP</code>" and a value consisting of an iCalendar
@@ -53234,38 +53268,38 @@ END:VCARD</pre>
    title="">output</var>.</p></li>
 
    <li><p>Append a U+000A LINE FEED character (LF) to <var
    title="">output</var>.</p></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">http://microformats.org/profile/hcalendar</code>
+  title="md-vevent">http://microformats.org/profile/hcalendar#vevent</code>
   <span>item type</span> and <span title="defined property
   name">defined property names</span>.</p> <!-- of course since
   iCalendar doesn't define error handling, this is somewhat
   problematic. -->
 
 
 
   <h5>Examples</h5>
 
 <!-- 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>&lt;body item="http://microformats.org/profile/hcalendar">
+   <pre>&lt;body itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
  ...
  &lt;h1 itemprop="summary">Bluesday Tuesday: Money Road&lt;/h1>
  ...
  &lt;time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th @ 7pm&lt;/time>
  (until &lt;time itemprop="dtend" datetime="2009-05-05T21:00:00Z">9pm&lt;/time>)
  ...
  &lt;a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
     rel="bookmark" itemprop="url">Link to this page&lt;/a>
  ...
  &lt;p>Location: &lt;span itemprop="location">The RoadHouse&lt;/span>&lt;/p>
@@ -53273,21 +53307,21 @@ END:VCARD</pre>
  &lt;p>&lt;input type=button value="Add to Calendar"
            onclick="location = getCalendar(this)">&lt;/p>
  ...
  &lt;meta itemprop="description" content="via livebrum.co.uk">
 &lt;/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'))
+  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)
@@ -53314,39 +53348,51 @@ END:VCARD</pre>
         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>&lt;div itemscope itemtype="http://microformats.org/profile/hcalendar">
+   <pre>&lt;div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
  &lt;p>I'm going to
  &lt;strong itemprop="summary">Bluesday Tuesday: Money Road&lt;/strong>,
  &lt;time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th at 7pm&lt;/time>
  to &lt;time itemprop="dtend" content="2009-05-05T21:00:00Z">9pm&lt;/time>,
  at &lt;span itemprop="location">The RoadHouse&lt;/span>!&lt;/p>
  &lt;p>&lt;a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
        itemprop="url">See this event on livebrum.co.uk&lt;/a>.&lt;/p>
  &lt;meta itemprop="description" content="via livebrum.co.uk">
 &lt;/div></pre>
 
   </div>
 
 <!--END vEvent-->
 
   <h4>Licensing works</h4>
 
+<!--END vocabs-->
 <!--START work-->
 
+  <h4 class="no-num no-toc">Table of contents</h4>
+  <!--toc-->
+  <hr>
+
+  <h5>The vocabulary</h5>
+
+  <p>This section defines a microdata vocabulary. <a
+  href="#refsHTML5">[HTML5]</a></p>
+
+<!--START vocabs-->
+
   <p>An item with the <span>item type</span> <dfn
   title="md-work"><code>http://n.whatwg.org/work</code></dfn>
   represents a work (e.g. an article, an image, a video, a song,
   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>
@@ -53452,22 +53498,22 @@ END:VCARD</pre>
 
   <h5>Examples</h5>
 
   <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>&lt;figure <strong>item="work"</strong>>
- &lt;dd>&lt;img <strong>itemprop="about"</strong> src="mypond.jpeg">
+   <pre>&lt;figure <strong>itemscope itemtype="http://n.whatwg.org/work"</strong>>
+ &lt;dd>&lt;img <strong>itemprop="work"</strong> src="mypond.jpeg">
  &lt;dt>
   &lt;p>&lt;cite <strong>itemprop="title"</strong>>My Pond&lt;/cite>&lt;/p>
   &lt;p>&lt;small>Licensed under the &lt;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&lt;/a>
   and the &lt;a <strong>itemprop="license"</strong>
   href="http://www.opensource.org/licenses/mit-license.php">MIT
   license&lt;/a>.&lt;/small>
 &lt;/figure></pre>
 
@@ -90422,25 +90468,27 @@ interface <span>HTMLDocument</span> {
     <tr> 
      <td> <code title="event-load">load</code>
      <td> The element or page has finished loading
     <tr>
      <td colspan=2 class="XXX"> ...
   </table>
 
 
 
 <!--START websocket-api--><!--START storage--><!--START database--><!--START eventsource--><!--START workers-->
-
+<!--START vocabs--><!--START vCard--><!--START vEvent--><!--START work-->
 
   <h2 class="no-num" id="references">References</h2><!--REFS-->
 
+<!--END vocabs--><!--END vCard--><!--END vEvent--><!--END work-->
   <p>All references are normative unless marked "Non-normative".</p>
+<!--START vocabs--><!--START vCard--><!--START vEvent--><!--START work-->
 
   <dl>
 <!--REFERENCES ON-->
 
    <dt id="refsABNF">[ABNF]</dt>
    <dd><cite><a href="http://www.ietf.org/rfc/std/std68.txt">Augmented
    BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker,
    P. Overell. IETF, January 2008.</dd>
 
    <dt id="refsARIA">[ARIA]</dt>
@@ -91141,20 +91189,21 @@ interface <span>HTMLDocument</span> {
    November 1999.</dd>
 
    <dt id="refsXSLT10">[XSLT10]</dt>
    <dd><cite><a href="http://www.w3.org/TR/1999/REC-xslt-19991116">XSL
    Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C,
    November 1999.</dd>
 
 <!--REFERENCES OFF-->
   </dl>
 
+<!--END vocabs--><!--END vCard--><!--END vEvent--><!--END work-->
 <!--END websocket-api--><!--END storage--><!--END database--><!--END eventsource--><!--END workers-->
 
 
   <h2 class="no-num">Acknowledgements</h2> <!-- ACKS -->
 
   <p>Thanks to
 
   Aankhen,
   Aaron Boodman,
   Aaron Leventhal,

|