Permalink
Browse files

[acgiowt] (2) Drop <time> and replace it with <data>. Drop the Atom c…

…onversion section entirely. Convert a bunch of examples that used to use <time pubdate> to using schema.org, to show how to annotate publication dates and the like in a machine-processable way.

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=13240

git-svn-id: http://svn.whatwg.org/webapps@6783 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
1 parent b0de7ac commit 70b0ce45a26937a3f26eeb72b146261ff6210a1d @Hixie Hixie committed Oct 29, 2011
Showing with 683 additions and 3,019 deletions.
  1. +223 −946 complete.html
  2. +223 −946 index
  3. +237 −1,127 source
View
1,169 complete.html
@@ -240,7 +240,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 28 October 2011</h2>
+ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 29 October 2011</h2>
</hgroup><dl><dt><strong>Web developer edition:</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
@@ -497,7 +497,7 @@ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 28 October 2011</
<li><a href=#the-q-element><span class=secno>4.6.7 </span>The <code>q</code> element</a></li>
<li><a href=#the-dfn-element><span class=secno>4.6.8 </span>The <code>dfn</code> element</a></li>
<li><a href=#the-abbr-element><span class=secno>4.6.9 </span>The <code>abbr</code> element</a></li>
- <li><a href=#the-time-element><span class=secno>4.6.10 </span>The <code>time</code> element</a></li>
+ <li><a href=#the-data-element><span class=secno>4.6.10 </span>The <code>data</code> element</a></li>
<li><a href=#the-code-element><span class=secno>4.6.11 </span>The <code>code</code> element</a></li>
<li><a href=#the-var-element><span class=secno>4.6.12 </span>The <code>var</code> element</a></li>
<li><a href=#the-samp-element><span class=secno>4.6.13 </span>The <code>samp</code> element</a></li>
@@ -832,8 +832,7 @@ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 28 October 2011</
<li><a href=#examples-3><span class=secno>5.4.3.1 </span>Examples</a></ol></ol></li>
<li><a href=#converting-html-to-other-formats><span class=secno>5.5 </span>Converting HTML to other formats</a>
<ol>
- <li><a href=#json><span class=secno>5.5.1 </span>JSON</a></li>
- <li><a href=#atom><span class=secno>5.5.2 </span>Atom</a></ol></ol></li>
+ <li><a href=#json><span class=secno>5.5.1 </span>JSON</a></ol></ol></li>
<li><a href=#browsers><span class=secno>6 </span>Loading Web pages</a>
<ol>
<li><a href=#windows><span class=secno>6.1 </span>Browsing contexts</a>
@@ -1317,8 +1316,7 @@ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 28 October 2011</
<li><a href=#the-progress-element-0><span class=secno>15.5.13 </span>The <code>progress</code> element</a></li>
<li><a href=#the-select-element-0><span class=secno>15.5.14 </span>The <code>select</code> element</a></li>
<li><a href=#the-textarea-element-0><span class=secno>15.5.15 </span>The <code>textarea</code> element</a></li>
- <li><a href=#the-keygen-element-0><span class=secno>15.5.16 </span>The <code>keygen</code> element</a></li>
- <li><a href=#the-time-element-0><span class=secno>15.5.17 </span>The <code>time</code> element</a></ol></li>
+ <li><a href=#the-keygen-element-0><span class=secno>15.5.16 </span>The <code>keygen</code> element</a></ol></li>
<li><a href=#frames-and-framesets><span class=secno>15.6 </span>Frames and framesets</a></li>
<li><a href=#interactive-media><span class=secno>15.7 </span>Interactive media</a>
<ol>
@@ -11500,6 +11498,7 @@ <h6 id=flow-content-0><span class=secno>3.2.5.1.2 </span>Flow content</h6>
<li><code><a href=#the-cite-element>cite</a></code></li>
<li><code><a href=#the-code-element>code</a></code></li>
<li><code><a href=#the-command-element>command</a></code></li>
+ <li><code><a href=#the-data-element>data</a></code></li>
<li><code><a href=#the-datalist-element>datalist</a></code></li>
<li><code><a href=#the-del-element>del</a></code></li>
<li><code><a href=#the-details-element>details</a></code></li>
@@ -11564,7 +11563,6 @@ <h6 id=flow-content-0><span class=secno>3.2.5.1.2 </span>Flow content</h6>
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-table-element>table</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
- <li><code><a href=#the-time-element>time</a></code></li>
<li><code><a href=#the-u-element>u</a></code></li>
<li><code><a href=#the-ul-element>ul</a></code></li>
<li><code><a href=#the-var-element>var</a></code></li>
@@ -11624,6 +11622,7 @@ <h6 id=heading-content-0><span class=secno>3.2.5.1.4 </span>Heading content</h6>
<li><code><a href=#the-cite-element>cite</a></code></li>
<li><code><a href=#the-code-element>code</a></code></li>
<li><code><a href=#the-command-element>command</a></code></li>
+ <li><code><a href=#the-data-element>data</a></code></li>
<li><code><a href=#the-datalist-element>datalist</a></code></li>
<li><code><a href=#the-del-element>del</a></code> (if it contains only <a href=#phrasing-content>phrasing content</a>)</li>
<li><code><a href=#the-dfn-element>dfn</a></code></li>
@@ -11664,7 +11663,6 @@ <h6 id=heading-content-0><span class=secno>3.2.5.1.4 </span>Heading content</h6>
<li><code><a href=#the-sub-and-sup-elements>sup</a></code></li>
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
- <li><code><a href=#the-time-element>time</a></code></li>
<li><code><a href=#the-u-element>u</a></code></li>
<li><code><a href=#the-var-element>var</a></code></li>
<li><code><a href=#the-video-element>video</a></code></li>
@@ -11884,6 +11882,7 @@ <h6 id=palpable-content-0><span class=secno>3.2.5.1.8 </span>Palpable content</h
<li><code><a href=#the-canvas-element>canvas</a></code></li>
<li><code><a href=#the-cite-element>cite</a></code></li>
<li><code><a href=#the-code-element>code</a></code></li>
+ <li><code><a href=#the-data-element>data</a></code></li>
<li><code><a href=#the-details-element>details</a></code></li>
<li><code><a href=#the-dfn-element>dfn</a></code></li>
<li><code><a href=#the-div-element>div</a></code></li>
@@ -11936,7 +11935,6 @@ <h6 id=palpable-content-0><span class=secno>3.2.5.1.8 </span>Palpable content</h
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-table-element>table</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
- <li><code><a href=#the-time-element>time</a></code></li>
<li><code><a href=#the-u-element>u</a></code></li>
<li><code><a href=#the-ul-element>ul</a></code> (if the element's children include at least one <code><a href=#the-li-element>li</a></code> element)</li>
<li><code><a href=#the-var-element>var</a></code></li>
@@ -16966,13 +16964,13 @@ <h4 id=the-nav-element><span class=secno>4.4.3 </span>The <dfn><code>nav</code><
links are present, but only one of those places is considered a
navigation section.</p>
- <pre>&lt;body&gt;
+ <pre>&lt;body itemscope itemtype="http://schema.org/Blog"&gt;
&lt;header&gt;
&lt;h1&gt;Wake up sheeple!&lt;/h1&gt;
&lt;p&gt;&lt;a href="news.html"&gt;News&lt;/a&gt; -
&lt;a href="blog.html"&gt;Blog&lt;/a&gt; -
&lt;a href="forums.html"&gt;Forums&lt;/a&gt;&lt;/p&gt;
- &lt;p&gt;Last Modified: &lt;time&gt;2009-04-01&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Last Modified: &lt;data itemprop="dateModified"&gt;2009-04-01&lt;/data&gt;&lt;/p&gt;
&lt;nav&gt;
&lt;h1&gt;Navigation&lt;/h1&gt;
&lt;ul&gt;
@@ -16983,22 +16981,25 @@ <h4 id=the-nav-element><span class=secno>4.4.3 </span>The <dfn><code>nav</code><
&lt;/nav&gt;
&lt;/header&gt;
&lt;div&gt;
- &lt;article&gt;
+ &lt;article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting"&gt;
&lt;header&gt;
- &lt;h1&gt;My Day at the Beach&lt;/h1&gt;
+ &lt;h1 itemprop="headline"&gt;My Day at the Beach&lt;/h1&gt;
&lt;/header&gt;
- &lt;div&gt;
+ &lt;div itemprop="articleBody"&gt;
&lt;p&gt;Today I went to the beach and had a lot of fun.&lt;/p&gt;
<em>...more content...</em>
&lt;/div&gt;
&lt;footer&gt;
- &lt;p&gt;Posted &lt;time pubdate="" datetime="2009-10-10T14:36-08:00"&gt;Thursday&lt;/time&gt;.&lt;/p&gt;
+ &lt;p&gt;Posted &lt;data itemprop="datePublished" value="2009-10-10"&gt;Thursday&lt;/data&gt;.&lt;/p&gt;
&lt;/footer&gt;
&lt;/article&gt;
<em>...more blog posts...</em>
&lt;/div&gt;
&lt;footer&gt;
- &lt;p&gt;Copyright &copy; 2006 The Example Company&lt;/p&gt;
+ &lt;p&gt;Copyright &copy;
+ &lt;span itemprop="copyrightYear"&gt;2010&lt;/span&gt;
+ &lt;span itemprop="copyrightHolder"&gt;The Example Company&lt;/span&gt;
+ &lt;/p&gt;
&lt;p&gt;&lt;a href="about.html"&gt;About&lt;/a&gt; -
&lt;a href="policy.html"&gt;Privacy Policy&lt;/a&gt; -
&lt;a href="contact.html"&gt;Contact Us&lt;/a&gt;&lt;/p&gt;
@@ -17009,6 +17010,10 @@ <h4 id=the-nav-element><span class=secno>4.4.3 </span>The <dfn><code>nav</code><
contents of the page other than the header and footer, and all the
contents of the blog entry other than its header and footer.</p>
+ <p>You can also see microdata annotations in the above example that
+ use the schema.org vocabulary to provide the publication date and
+ other metadata about the blog post.</p>
+
</div>
<div class=example>
@@ -17125,51 +17130,59 @@ <h4 id=the-article-element><span class=secno>4.4.4 </span>The <dfn><code>article
similar in purpose to the <code title="">entry</code> element in
Atom. <a href=#refsATOM>[ATOM]</a>
- <p class=note>The <code><a href=#the-time-element>time</a></code> element's <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute can be used to
+ <p class=note>The schema.org microdata vocabulary can be used to
provide the publication date for an <code><a href=#the-article-element>article</a></code>
- element.</p>
+ element, using one of the CreativeWork subtypes.</p>
<div class=example id=article-example>
<p>This example shows a blog post using the <code><a href=#the-article-element>article</a></code>
- element:</p>
+ element, with some schema.org annotations:</p>
- <pre>&lt;article&gt;
+ <pre>&lt;article itemscope itemtype="http://schema.org/BlogPosting"&gt;
&lt;header&gt;
- &lt;h1&gt;The Very First Rule of Life&lt;/h1&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-09T14:28-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
- &lt;/header&gt;
+ &lt;h1 itemprop="headline"&gt;The Very First Rule of Life&lt;/h1&gt;
+ &lt;p&gt;&lt;data itemprop="datePublished" value="2009-10-09"&gt;3 days ago&lt;/data&gt;&lt;/p&gt;
+ &lt;link itemprop="url" href="?comments=0"&gt;
+ &lt;/header&gt;[
&lt;p&gt;If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.&lt;/p&gt;
&lt;p&gt;<em>...</em>&lt;/p&gt;
&lt;footer&gt;
- &lt;a href="?comments=1"&gt;Show comments...&lt;/a&gt;
+ &lt;a itemprop="discussionUrl" href="?comments=1"&gt;Show comments...&lt;/a&gt;
&lt;/footer&gt;
&lt;/article&gt;</pre>
<p>Here is that same blog post, but showing some of the comments:</p>
- <pre>&lt;article&gt;
+ <pre>&lt;article itemscope itemtype="http://schema.org/BlogPosting"&gt;
&lt;header&gt;
- &lt;h1&gt;The Very First Rule of Life&lt;/h1&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-09T14:28-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
+ &lt;h1 itemprop="headline"&gt;The Very First Rule of Life&lt;/h1&gt;
+ &lt;p&gt;&lt;data itemprop="datePublished" value="2009-10-09"&gt;3 days ago&lt;/data&gt;&lt;/p&gt;
+ &lt;link itemprop="url" href="?comments=0"&gt;
&lt;/header&gt;
&lt;p&gt;If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.&lt;/p&gt;
&lt;p&gt;<em>...</em>&lt;/p&gt;
&lt;section&gt;
&lt;h1&gt;Comments&lt;/h1&gt;
- &lt;article&gt;
+ &lt;article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c1"&gt;
+ &lt;link itemprop="url" href="#c1"&gt;
&lt;footer&gt;
- &lt;p&gt;Posted by: George Washington&lt;/p&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-10T19:10-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Posted by: &lt;span itemprop="creator" itemscope itemtype="http://schema.org/Person"&gt;
+ &lt;span itemprop="name"&gt;George Washington&lt;/span&gt;
+ &lt;/span&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;data itemprop="commentTime" value="2009-10-10"&gt;15 minutes ago&lt;/data&gt;&lt;/p&gt;
&lt;/footer&gt;
&lt;p&gt;Yeah! Especially when talking about your lobbyist friends!&lt;/p&gt;
&lt;/article&gt;
- &lt;article&gt;
+ &lt;article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c2"&gt;
+ &lt;link itemprop="url" href="#c2"&gt;
&lt;footer&gt;
- &lt;p&gt;Posted by: George Hammond&lt;/p&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-10T19:15-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Posted by: &lt;span itemprop="creator" itemscope itemtype="http://schema.org/Person"&gt;
+ &lt;span itemprop="name"&gt;George Hammond&lt;/span&gt;
+ &lt;/span&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;data itemprop="commentTime" value="2009-10-10"&gt;5 minutes ago&lt;/data&gt;&lt;/p&gt;
&lt;/footer&gt;
&lt;p&gt;Hey, you have the same first name as me.&lt;/p&gt;
&lt;/article&gt;
@@ -17646,7 +17659,7 @@ <h4 id=the-footer-element><span class=secno>4.4.9 </span>The <dfn><code>footer</
&lt;P&gt;&lt;A HREF="/fm/015.ogv"&gt;Download video&lt;/A&gt;.&lt;/P&gt;
&lt;/VIDEO&gt;
&lt;FOOTER&gt; &lt;!-- footer for article --&gt;
- &lt;P&gt;Published &lt;TIME PUBDATE DATETIME="2009-10-21T18:26-07:00"&gt;&lt;/TIME&gt;&lt;/P&gt;
+ &lt;P&gt;Published &lt;DATA VALUE="2009-10-21T18:26-07:00"&gt;on 2009/10/21 at 6:26pm&lt;/DATA&gt;&lt;/P&gt;
&lt;/FOOTER&gt;
&lt;/ARTICLE&gt;
&lt;ARTICLE&gt;
@@ -17655,7 +17668,7 @@ <h4 id=the-footer-element><span class=secno>4.4.9 </span>The <dfn><code>footer</
&lt;P&gt;It is fun to see them pull some coal cars because they look so
dwarfed in comparison.&lt;/P&gt;
&lt;FOOTER&gt; &lt;!-- footer for article --&gt;
- &lt;P&gt;Published &lt;TIME PUBDATE DATETIME="2009-09-15T14:54-07:00"&gt;&lt;/TIME&gt;&lt;/P&gt;
+ &lt;P&gt;Published &lt;DATA VALUE="2009-09-15T14:54-07:00"&gt;on 2009/09/15 at 2:54pm&lt;/DATA&gt;&lt;/P&gt;
&lt;/FOOTER&gt;
&lt;/ARTICLE&gt;
&lt;FOOTER&gt; &lt;!-- site wide footer --&gt;
@@ -20449,7 +20462,7 @@ <h4 id=the-abbr-element><span class=secno>4.6.9 </span>The <dfn><code>abbr</code
- <h4 id=the-time-element><span class=secno>4.6.10 </span>The <dfn><code>time</code></dfn> element</h4>
+ <h4 id=the-data-element><span class=secno>4.6.10 </span>The <dfn><code>data</code></dfn> element</h4>
<dl class=element><dt>Categories</dt>
<dd><a href=#flow-content>Flow content</a>.</dd>
@@ -20458,116 +20471,60 @@ <h4 id=the-time-element><span class=secno>4.6.10 </span>The <dfn><code>time</cod
<dt>Contexts in which this element can be used:</dt>
<dd>Where <a href=#phrasing-content>phrasing content</a> is expected.</dd>
<dt>Content model:</dt>
- <dd><a href=#phrasing-content>Phrasing content</a>, but there must be no <code><a href=#the-time-element>time</a></code> element descendants.</dd>
+ <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
<dt>Content attributes:</dt>
<dd><a href=#global-attributes>Global attributes</a></dd>
- <dd><code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code></dd>
- <dd><code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code></dd>
+ <dd><code title=attr-data-value><a href=#attr-data-value>value</a></code></dd>
<dt>DOM interface:</dt>
<dd>
-<pre class=idl>interface <dfn id=htmltimeelement>HTMLTimeElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
- attribute DOMString <a href=#dom-time-datetime title=dom-time-datetime>dateTime</a>;
- attribute boolean <a href=#dom-time-pubdate title=dom-time-pubDate>pubDate</a>;
- readonly attribute <span>Date</span>? <a href=#dom-time-valueasdate title=dom-time-valueAsDate>valueAsDate</a>;
+<pre class=idl>interface <dfn id=htmldataelement>HTMLDataElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
+ attribute DOMString <a href=#dom-data-value title=dom-data-value>value</a>;
};</pre>
</dd>
- </dl><p>The <code><a href=#the-time-element>time</a></code> element <a href=#represents>represents</a> either a
- time on a 24 hour clock, or a precise date in the proleptic
- Gregorian calendar, optionally with a time and a time-zone
- offset. <a href=#refsGREGORIAN>[GREGORIAN]</a></p>
+ </dl><p>The <code><a href=#the-data-element>data</a></code> element <a href=#represents>represents</a> its
+ contents, along with a machine-readable form of those contents in
+ the <code title=attr-data-value><a href=#attr-data-value>value</a></code> attribute.</p>
- <p>This element is intended as a way to encode modern dates and
- times in a machine-readable way so that, for example, user agents
- can offer to add birthday reminders or scheduled events to the
- user's calendar.</p>
+ <p>The <dfn id=attr-data-value title=attr-data-value><code>value</code></dfn>
+ attribute must be present. Its value must be a representation of the
+ element's contents in a machine-readable format.</p>
- <!-- it's also intended for restyling to local conventions
- (2000-12-31 vs 31-12-2000 vs 12-31-2000), but CSS doesn't support
- that yet. Once CSS does support that, we should update this to also
- support year and year-month cases, since in Japanese those need
- special styling also. See #2 in:
- http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-August/028025.html
- ...for details. -->
+ <p>The element can be used for several purposes.</p>
- <div class=note>
-
- <p>The <code><a href=#the-time-element>time</a></code> element is not intended for encoding times
- for which a precise date or time cannot be established. For
- example, it would be inappropriate for encoding times like "one
- millisecond after the big bang", "the early part of the Jurassic
- period", or "a winter around 250 BCE".</p>
-
- <p>For dates before the introduction of the Gregorian calendar,
- authors are encouraged to not use the <code><a href=#the-time-element>time</a></code> element, or
- else to be very careful about converting dates and times from the
- period to the Gregorian calendar. This is complicated by the manner
- in which the Gregorian calendar was phased in, which occurred at
- different times in different countries, ranging from partway
- through the 16th century all the way to early in the 20th.</p>
-
- </div>
-
- <p>The <dfn id=attr-time-pubdate title=attr-time-pubdate><code>pubdate</code></dfn>
- attribute is a <a href=#boolean-attribute>boolean attribute</a>. If specified, it
- indicates that the date and time given by the element is the
- publication date and time of the nearest ancestor
- <code><a href=#the-article-element>article</a></code> element, or, if the element has no ancestor
- <code><a href=#the-article-element>article</a></code> element, of the document as a whole. If the
- element has a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code>
- attribute specified, then the element <dfn id=needs-a-date>needs a date</dfn>. For
- each <code><a href=#the-article-element>article</a></code> element, there must be no more than one
- <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute whose nearest
- ancestor is that <code><a href=#the-article-element>article</a></code> element. Furthermore, for each
- <code><a href=#document>Document</a></code>, there must be no more than one
- <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute that does not
- have an ancestor <code><a href=#the-article-element>article</a></code> element.</p>
-
- <p>The <dfn id=attr-time-datetime title=attr-time-datetime><code>datetime</code></dfn>
- attribute, if present, gives the date or time being
- specified. Otherwise, the date or time is given by the element's
- contents.</p>
+ <p>When combined with Microformats or the <a href=#microdata>microdata attributes</a> defined in this
+ specification, the element serves to provide both a machine-readable
+ value for the purposes of data procesors, and a human-readable value
+ for the purposes of rendering in a Web browser. In this case, the
+ format to be used in the <code title=attr-data-value><a href=#attr-data-value>value</a></code>
+ attribute is determined by the Microformat or microdata
+ vocabulary in use.</p>
- <p>If the element <i><a href=#needs-a-date>needs a date</a></i>, and the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is present,
- then the attribute's value must be a <a href=#valid-date-string-with-optional-time>valid date string with
- optional time</a>.</p>
-
- <p>If the element <i><a href=#needs-a-date>needs a date</a></i>, but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is not present,
- then the element's <code><a href=#textcontent>textContent</a></code> must be a <a href=#valid-date-string-in-content-with-optional-time>valid
- date string in content with optional time</a>.</p>
-
- <p>If the element does not <i title="needs a date"><a href=#needs-a-date>need a date</a></i>,
- and the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute
- is present, then the attribute's value must be a <a href=#valid-date-or-time-string>valid date or
- time string</a>.</p>
-
- <p>If the element does not <i title="needs a date"><a href=#needs-a-date>need a date</a></i>,
- but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute
- is not present, then the element's <code><a href=#textcontent>textContent</a></code> must be
- a <a href=#valid-date-or-time-string-in-content>valid date or time string in content</a>.</p>
-
- <p>The date, if any, must be expressed using the Gregorian
- calendar.</p>
+ <p>The element can also, however, be used in conjunction with
+ scripts in the page, for when a script has store a literal value
+ alongside a human-readable value. In such cases, the format to be
+ used depends only on the needs of the script. (The <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes can also be useful in
+ such situations.)</p>
<div class=impl>
- <p>If the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute
- is present, the user agent should convey the attribute's value to
- the user when rendering the element.</p>
+ <p>The <dfn id=dom-data-value title=dom-data-value><code>value</code></dfn> IDL
+ attribute must <a href=#reflect>reflect</a> the content attribute of the
+ same name.</p>
</div>
<div class=example>
- <p>The <code><a href=#the-time-element>time</a></code> element can be used to encode dates, for
+ <p>The <code><a href=#the-data-element>data</a></code> element can be used to encode dates, for
example in Microformats. The following shows a hypothetical way of
encoding an event using a variant on hCalendar that uses the
- <code><a href=#the-time-element>time</a></code> element:</p>
+ <code><a href=#the-data-element>data</a></code> element:</p>
<pre>&lt;div class="vevent"&gt;
&lt;a class="url" href="http://www.web2con.com/"&gt;http://www.web2con.com/&lt;/a&gt;
&lt;span class="summary"&gt;Web 2.0 Conference&lt;/span&gt;:
- &lt;time class="dtstart" datetime="2007-10-05"&gt;October 5&lt;/time&gt; -
- &lt;time class="dtend" datetime="2007-10-20"&gt;19&lt;/time&gt;,
+ &lt;data class="dtstart" value="2007-10-05"&gt;October 5&lt;/data&gt; -
+ &lt;data class="dtend" value="2007-10-20"&gt;19&lt;/data&gt;,
at the &lt;span class="location"&gt;Argent Hotel, San Francisco, CA&lt;/span&gt;
&lt;/div&gt;</pre>
@@ -20579,161 +20536,52 @@ <h4 id=the-time-element><span class=secno>4.6.10 </span>The <dfn><code>time</cod
<div class=example>
- <p>The <code><a href=#the-time-element>time</a></code> element is not necessary for encoding
- dates or times. In the following snippet, the time is encoded using
- <code><a href=#the-time-element>time</a></code>, so that it can be restyled (e.g. using XBL2) to
- match local conventions, while the year is not marked up at all,
- since marking it up would not be particularly useful, and doing so
- is thus not allowed.</p>
-
- <pre>&lt;p&gt;I usually have a snack at &lt;time&gt;16:00&lt;/time&gt;.&lt;/p&gt;
-&lt;p&gt;I've liked model trains since at least 1983.&lt;/p&gt;</pre>
-
- <p>Using a styling technology that supports restyling times, the
- first paragraph from the above snippet could be rendered as follows:</p>
-
- <blockquote><p>I usually have a snack at 4pm.</blockquote>
-
- <p>Or it could be rendered as follows:</p>
-
- <blockquote><p>I usually have a snack at 16h00.</blockquote>
-
- </div>
-
- <div class=impl>
-
- <p>The <dfn id=dom-time-datetime title=dom-time-datetime><code>dateTime</code></dfn> IDL
- attribute must <a href=#reflect>reflect</a> the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> content attribute.</p>
-
- <p>The <dfn id=dom-time-pubdate title=dom-time-pubDate><code>pubDate</code></dfn> IDL
- attribute must <a href=#reflect>reflect</a> the <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> content attribute.</p>
-
- <p>User agents, to obtain the <dfn id=concept-time-date title=concept-time-date>date</dfn>, <dfn id=concept-time-time title=concept-time-time>time</dfn>, and <dfn id=concept-time-timezone title=concept-time-timezone>time-zone offset</dfn> represented by
- a <code><a href=#the-time-element>time</a></code> element, must follow these steps:</p>
-
- <ol><li>If the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code>
- attribute is present, then use the rules to <a href=#parse-a-date-or-time-string>parse a date or
- time string</a> with the flag <i>in attribute</i> from the value
- of that attribute, and let the result be <var title="">result</var>.</li>
-
- <li>Otherwise, use the rules to <a href=#parse-a-date-or-time-string>parse a date or time
- string</a> with the flag <i>in content</i> from the element's
- <code><a href=#textcontent>textContent</a></code>, and let the result be <var title="">result</var>.</li>
-
- <li>If <var title="">result</var> is empty (because the parsing
- failed), then the <a href=#concept-time-date title=concept-time-date>date</a> is
- unknown, the <a href=#concept-time-time title=concept-time-time>time</a> is
- unknown, and the <a href=#concept-time-timezone title=concept-time-timezone>time-zone
- offset</a> is unknown.</li>
-
- <li>Otherwise: if <var title="">result</var> contains a date, then
- that is the <a href=#concept-time-date title=concept-time-date>date</a>; if <var title="">result</var> contains a time, then that is the <a href=#concept-time-time title=concept-time-time>time</a>; and if <var title="">result</var> contains a time-zone offset, then the
- time-zone offset is the element's <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a>. (A time-zone
- offset can only be present if both a date and a time are also
- present.)</li>
-
- </ol></div>
-
- <dl class=domintro><dt><var title="">time</var> . <code title=dom-time-valueAsDate><a href=#dom-time-valueasdate>valueAsDate</a></code></dt>
-
- <dd>
-
- <p>Returns a <code>Date</code> object representing the specified date and time.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>The <dfn id=dom-time-valueasdate title=dom-time-valueAsDate><code>valueAsDate</code></dfn> IDL
- attribute must return either null or a new <code>Date</code> object
- initialized to the relevant value as defined by the following
- list:</p>
-
- <dl><dt>If the <a href=#concept-time-date title=concept-time-date>date</a> is known but
- the <a href=#concept-time-time title=concept-time-time>time</a> is not</dt>
-
- <dd>The time corresponding to midnight UTC (i.e. the first second)
- of the given <a href=#concept-time-date title=concept-time-date>date</a>.</dd>
-
- <dt>If the <a href=#concept-time-time title=concept-time-time>time</a> is known but
- the <a href=#concept-time-date title=concept-time-date>date</a> is not</dt>
-
- <dd>The time corresponding to the given <a href=#concept-time-time title=concept-time-time>time</a> of 1970-01-01, with the time
- zone UTC.</dd>
-
- <dt>If both the <a href=#concept-time-date title=concept-time-date>date</a> and the
- <a href=#concept-time-time title=concept-time-time>time</a> are known</dt>
-
- <dd>The time corresponding to the <a href=#concept-time-date title=concept-time-date>date</a> and <a href=#concept-time-time title=concept-time-time>time</a>, with the given <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a>.</dd>
-
- <dt>If neither the <a href=#concept-time-date title=concept-time-date>date</a> nor
- the <a href=#concept-time-time title=concept-time-time>time</a> are known</dt>
-
- <dd>The null value.</dd>
+ <p>In this example, an article's publication date is marked up
+ using <code><a href=#the-data-element>data</a></code> and the schema.org microdata
+ vocabulary:</p>
- </dl><p>When a <code>Date</code> object is to be returned, a new one must
- be constructed.</p> <!-- yes, this means .valueAsDate !=
- .valueAsDate, but the object is mutable, so it'd be weird if we
- didn't do that -->
+ <pre>&lt;article itemscope itemtype="http://schema.org/BlogPosting"&gt;
+ &lt;h1 itemprop="headline"&gt;Small tasks&lt;/h1&gt;
+ &lt;footer&gt;Published &lt;data itemprop="datePublished" value="2009-08-30"&gt;yesterday&lt;/data&gt;.&lt;/footer&gt;
+ &lt;p itemprop="articleBody"&gt;I put a bike bell on his bike.&lt;/p&gt;
+&lt;/article&gt;</pre>
</div>
<div class=example>
- <p>In the following snippet:</p>
-
- <pre>&lt;p&gt;Our first date was &lt;time datetime="2006-09-23"&gt;a Saturday&lt;/time&gt;.&lt;/p&gt;</pre>
+ <p>In the following snippet, the <code><a href=#the-data-element>data</a></code> element is used
+ to encode a date in the ISO8601 format, for later processing by a
+ script:</p>
- <p>...the <code><a href=#the-time-element>time</a></code> element's <code title=dom-time-valueAsDate><a href=#dom-time-valueasdate>valueAsDate</a></code> attribute would
- have the value 1,158,969,600,000ms.</p>
+ <pre>&lt;p&gt;Our first date was &lt;data value="2006-09-23"&gt;a Saturday&lt;/data&gt;.&lt;/p&gt;</pre>
- </div>
-
- <!-- <pre>&lt;p>We stopped talking at &lt;time datetime="2006-09-24T05:00-07:00">5am the next morning&lt;/time>.&lt;/p></pre> -->
+ <p>In this second snippet, the value includes a time:</p>
- <div class=example>
+ <pre>&lt;p&gt;We stopped talking at &lt;data value="2006-09-24T05:00-07:00"&gt;5am the next morning&lt;/data&gt;.&lt;/p&gt;</pre>
- <p>In the following snippet:</p>
-
- <pre>&lt;p&gt;Many people get up at &lt;time&gt;08:00&lt;/time&gt;.&lt;/p&gt;</pre>
-
- <p>...the <code><a href=#the-time-element>time</a></code> element's <code title=dom-time-valueAsDate><a href=#dom-time-valueasdate>valueAsDate</a></code> attribute would
- have the value 28,800,000ms.</p>
+ <p>A script loaded by the page (and thus privy to the page's
+ internal convention of marking up dates and times using the
+ <code><a href=#the-data-element>data</a></code> element) could scan through the page and look at
+ all the <code><a href=#the-data-element>data</a></code> elements therein to create an index of
+ dates and times.</p>
</div>
<div class=example>
- <p>In this example, an article's publication date is marked up
- using <code><a href=#the-time-element>time</a></code>:</p>
-
- <pre>&lt;article&gt;
- &lt;h1&gt;Small tasks&lt;/h1&gt;
- &lt;footer&gt;Published &lt;time pubdate&gt;2009-08-30&lt;/time&gt;.&lt;/footer&gt;
- &lt;p&gt;I put a bike bell on his bike.&lt;/p&gt;
-&lt;/article&gt;</pre>
-
- <p>Here is another way that could be marked up. In this example,
- legacy user agents would say "today", while newer user agents would
- render the time in a locale-specific manner based on the value of
- the attribute.</p>
-
- <pre>&lt;article&gt;
- &lt;h1&gt;Small tasks&lt;/h1&gt;
- &lt;footer&gt;Published &lt;time pubdate datetime="2009-08-30"&gt;today&lt;/time&gt;.&lt;/footer&gt;
- &lt;p&gt;I put a bike bell on his bike.&lt;/p&gt;
-&lt;/article&gt;</pre>
-
- <p>Here is the same thing but with the time included only. Because
- the element is empty, legacy user agents will not show anything
- useful; user agents that implement this specification, on the other
- hand, would show the date and time in a locale-specific manner.</p>
+ <p>Here, a short table has its numeric values encoded using
+ <code><a href=#the-data-element>data</a></code> so that a script can provide a sorting mechanism
+ on each column, despite the numbers being presented in textual
+ form in one column and in a decomposed form in another.</p>
- <pre>&lt;article&gt;
- &lt;h1&gt;Small tasks&lt;/h1&gt;
- &lt;footer&gt;Published &lt;time pubdate datetime="2009-08-30T07:13Z"&gt;&lt;/time&gt;.&lt;/footer&gt;
- &lt;p&gt;I put a bike bell on his bike.&lt;/p&gt;
-&lt;/article&gt;</pre>
+ <pre>&lt;table class="sortable"&gt; &lt;!-- class used by script to find tables to which to add sorting controls --&gt;
+ &lt;thead&gt; &lt;tr&gt; &lt;th&gt; Game &lt;th&gt; Corporations &lt;th&gt; Map Size
+ &lt;tbody&gt;
+ &lt;tr&gt; &lt;td&gt; 1830 &lt;td&gt; &lt;data value="8"&gt;Eight&lt;/data&gt; &lt;td&gt; &lt;data value="93"&gt;19+74 hexes (93 total)
+ &lt;tr&gt; &lt;td&gt; 1856 &lt;td&gt; &lt;data value="11"&gt;Eleven&lt;/data&gt; &lt;td&gt; &lt;data value="99"&gt;12+87 hexes (99 total)
+ &lt;tr&gt; &lt;td&gt; 1870 &lt;td&gt; &lt;data value="10"&gt;Ten&lt;/data&gt; &lt;td&gt; &lt;data value="149"&gt;4+145 hexes (149 total)
+&lt;/table&gt;</pre>
</div>
@@ -21844,9 +21692,9 @@ <h4 id=usage-summary><span class=secno>4.6.28 </span>Usage summary</h4>
<td>Abbreviations
<td><pre class=example>Organic food in Ireland is certified by the <strong>&lt;abbr title="Irish Organic Farmers and Growers Association"&gt;IOFGA&lt;/abbr&gt;</strong>.</pre>
- <tr><td><code><a href=#the-time-element>time</a></code>
- <td>Date and/or time
- <td><pre class=example>Published <strong>&lt;time&gt;2009-10-21&lt;/time&gt;</strong>.</pre>
+ <tr><td><code><a href=#the-data-element>data</a></code>
+ <td>Machine-readable equivalent
+ <td><pre class=example>Available starting today! <strong>&lt;data value="UPC:022014640201"&gt;North Coast Organic Apple Cider&lt;/data&gt;</strong></pre>
<tr><td><code><a href=#the-code-element>code</a></code>
<td>Computer code
@@ -24067,19 +23915,18 @@ <h4 id=the-iframe-element><span class=secno>4.8.2 </span>The <dfn><code>iframe</
out in September, and we have articles about getting food, and about
getting in boxes, it's going to be great!&lt;/p&gt;
&lt;footer&gt;
- &lt;p&gt;Written by &lt;a href="/users/cap"&gt;cap&lt;/a&gt;.
- &lt;time pubdate&gt;2009-08-21T23:32Z&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Written by &lt;a href="/users/cap"&gt;cap&lt;/a&gt;, 1 hour ago.
&lt;/footer&gt;
&lt;article&gt;
- &lt;footer&gt; At &lt;time pubdate&gt;2009-08-21T23:35Z&lt;/time&gt;, &lt;a href="/users/ch"&gt;ch&lt;/a&gt; writes: &lt;/footer&gt;
+ &lt;footer&gt; Thirteen minutes ago, &lt;a href="/users/ch"&gt;ch&lt;/a&gt; wrote: &lt;/footer&gt;
&lt;iframe seamless sandbox srcdoc="&lt;p&gt;did you get a cover picture yet?"&gt;&lt;/iframe&gt;
&lt;/article&gt;
&lt;article&gt;
- &lt;footer&gt; At &lt;time pubdate&gt;2009-08-21T23:44Z&lt;/time&gt;, &lt;a href="/users/cap"&gt;cap&lt;/a&gt; writes: &lt;/footer&gt;
+ &lt;footer&gt; Nine minutes ago, &lt;a href="/users/cap"&gt;cap&lt;/a&gt; wrote: &lt;/footer&gt;
&lt;iframe seamless sandbox srcdoc="&lt;p&gt;Yeah, you can see it &lt;a href=&amp;quot;/gallery?mode=cover&amp;amp;amp;page=1&amp;quot;&gt;in my gallery&lt;/a&gt;."&gt;&lt;/iframe&gt;
&lt;/article&gt;
&lt;article&gt;
- &lt;footer&gt; At &lt;time pubdate&gt;2009-08-21T23:58Z&lt;/time&gt;, &lt;a href="/users/ch"&gt;ch&lt;/a&gt; writes: &lt;/footer&gt;
+ &lt;footer&gt; Five minutes ago, &lt;a href="/users/ch"&gt;ch&lt;/a&gt; wrote: &lt;/footer&gt;
&lt;iframe seamless sandbox srcdoc="&lt;p&gt;hey that's earl's table.
&lt;p&gt;you should get earl&amp;amp;amp;me on the next cover."&gt;&lt;/iframe&gt;
&lt;/article&gt;</pre>
@@ -45465,6 +45312,32 @@ <h6 id=date-and-time-state><span class=secno>4.10.7.1.7 </span><dfn title=attr-i
</div>
+ <div class=note id=only-contemporary-times>
+
+ <p>The <a href=#date-and-time-state title=attr-input-type-datetime>Date and Time</a>
+ state (and other date- and time-related states described in
+ subsequent sections) is not intended for the entry of values for
+ which a precise date and time relative to the contemporary calendar
+ cannot be established. For example, it would be inappropriate for
+ the entry of times like "one millisecond after the big bang", "the
+ early part of the Jurassic period", or "a winter around 250
+ BCE".</p>
+
+ <p>For the input of dates before the introduction of the Gregorian
+ calendar, authors are encouraged to not use the <a href=#date-and-time-state title=attr-input-type-datetime>Date and Time</a> state (and
+ the other date- and time-related states described in subsequent
+ sections), as user agents are not required to support converting
+ dates and times from earlier periods to the Gregorian calendar, and
+ asking users to do so manually puts an undue burden on users. (This
+ is complicated by the manner in which the Gregorian calendar was
+ phased in, which occurred at different times in different
+ countries, ranging from partway through the 16th century all the
+ way to early in the 20th.) Instead, authors are encouraged to
+ provide fine-grained input controls using the <code><a href=#the-select-element>select</a></code>
+ element and <code><a href=#the-input-element>input</a></code> elements with the <a href=#number-state title=attr-input-type-number>Number</a> state.</p>
+
+ </div>
+
<div class=bookkeeping>
<p>The following common <code><a href=#the-input-element>input</a></code> element content
@@ -45639,6 +45512,10 @@ <h6 id=date-state><span class=secno>4.10.7.1.8 </span><dfn title=attr-input-type
</div>
+ <p class=note>See <a href=#only-contemporary-times>the note on
+ historical dates</a> in the <a href=#date-and-time-state title=attr-input-type-datetime>Date and Time</a> state
+ section.</p>
+
<div class=bookkeeping>
<p>The following common <code><a href=#the-input-element>input</a></code> element content
@@ -46237,6 +46114,10 @@ <h6 id=local-date-and-time-state><span class=secno>4.10.7.1.12 </span><dfn title
</div>
+ <p class=note>See <a href=#only-contemporary-times>the note on
+ historical dates</a> in the <a href=#date-and-time-state title=attr-input-type-datetime>Date and Time</a> state
+ section.</p>
+
<div class=bookkeeping>
<p>The following common <code><a href=#the-input-element>input</a></code> element content
@@ -56493,7 +56374,7 @@ <h4 id=the-main-part-of-the-content><span class=secno>4.13.1 </span>The main par
<strong> &lt;article&gt;
&lt;header&gt;
&lt;h1&gt;My toys&lt;/h1&gt;
- &lt;p&gt;Published &lt;time pubdate datetime="2010-08-04"&gt;August 4th&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Published August 4th&lt;/p&gt;
&lt;/header&gt;
&lt;p&gt;I really like my chained book and my telephone. I'm not such a
fan of my big ball.&lt;/p&gt;
@@ -56701,13 +56582,14 @@ <h4 id=conversations><span class=secno>4.13.4 </span>Conversations</h4>
<div class=example>
<p>The following extract shows how an IM conversation log could be
- marked up.</p>
-
- <pre>&lt;p&gt; &lt;time&gt;14:22&lt;/time&gt; &lt;b&gt;egof&lt;/b&gt; I'm not that nerdy, I've only seen 30% of the star trek episodes
-&lt;p&gt; &lt;time&gt;14:23&lt;/time&gt; &lt;b&gt;kaj&lt;/b&gt; if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
-&lt;p&gt; &lt;time&gt;14:23&lt;/time&gt; &lt;b&gt;egof&lt;/b&gt; it's unarguably
-&lt;p&gt; &lt;time&gt;14:23&lt;/time&gt; &lt;i&gt;* kaj blinks&lt;/i&gt;
-&lt;p&gt; &lt;time&gt;14:24&lt;/time&gt; &lt;b&gt;kaj&lt;/b&gt; you are not helping your case</pre>
+ marked up, using the <code><a href=#the-data-element>data</a></code> element to provide Unix
+ timestamps for each line.</p>
+
+ <pre>&lt;p&gt; &lt;data value="1319898155"&gt;14:22&lt;/data&gt; &lt;b&gt;egof&lt;/b&gt; I'm not that nerdy, I've only seen 30% of the star trek episodes
+&lt;p&gt; &lt;data value="1319898192"&gt;14:23&lt;/data&gt; &lt;b&gt;kaj&lt;/b&gt; if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
+&lt;p&gt; &lt;data value="1319898200"&gt;14:23&lt;/data&gt; &lt;b&gt;egof&lt;/b&gt; it's unarguably
+&lt;p&gt; &lt;data value="1319898228"&gt;14:23&lt;/data&gt; &lt;i&gt;* kaj blinks&lt;/i&gt;
+&lt;p&gt; &lt;data value="1319898260"&gt;14:24&lt;/data&gt; &lt;b&gt;kaj&lt;/b&gt; you are not helping your case</pre>
<!-- with thanks to http://bash.org/?854262 -->
</div>
@@ -57447,16 +57329,18 @@ <h4 id=the-basic-syntax><span class=secno>5.1.2 </span>The basic syntax</h4>
</div>
- <p>When a string value is a date, time, or both a date and a time,
- it is expressed using the <code><a href=#the-time-element>time</a></code> element and its <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute.</p>
+ <p>When a string value is in some machine-readable format unsuitable
+ for human consumption, it is expressed using the <code title=attr-data-value><a href=#attr-data-value>value</a></code> attribute of the
+ <code><a href=#the-data-element>data</a></code> element, with the human-readable version given in
+ the element's contents.</p>
<div class=example>
- <p>In this example, the item has one property,
- "birthday", whose value is a date:</p>
+ <p>In this example, the item has one property, "birthday", whose
+ value is a date:</p>
<pre>&lt;div itemscope&gt;
- I was born on &lt;time itemprop="birthday" datetime="2009-05-10"&gt;May 10th 2009&lt;/time&gt;.
+ I was born on &lt;data itemprop="birthday" value="2009-05-10"&gt;May 10th 2009&lt;/data&gt;.
&lt;/div&gt;</pre>
</div>
@@ -57664,7 +57548,7 @@ <h4 id=global-identifiers-for-items><span class=secno>5.1.4 </span>Global identi
&lt;dt&gt;Author
&lt;dd itemprop="author"&gt;Peter F. Hamilton
&lt;dt&gt;Publication date
- &lt;dd&gt;&lt;time itemprop="pubdate" datetime="1996-01-26"&gt;26 January 1996&lt;/time&gt;
+ &lt;dd&gt;&lt;data itemprop="pubdate" value="1996-01-26"&gt;26 January 1996&lt;/data&gt;
&lt;/dl&gt;</pre>
<p>The "<code title="">http://vocab.example.net/book</code>"
@@ -58270,9 +58154,10 @@ <h4 id=values><span class=secno>5.2.4 </span>Values</h4>
url">resolving</a> it results in an error.</dd>
- <dt>If the element is a <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute</dt>
+ <dt>If the element is a <code><a href=#the-data-element>data</a></code> element</dt>
- <dd><p>The value is the value of the element's <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute.</dd>
+ <dd><p>The value is the value of the element's <code title=attr-data-value><a href=#attr-data-value>value</a></code> attribute, if it has one, or
+ the empty string otherwise.</dd>
<dt>Otherwise</dt>
@@ -58291,26 +58176,21 @@ <h4 id=values><span class=secno>5.2.4 </span>Values</h4>
must be specified using a <a href=#url-property-elements title="URL property elements">URL
property element</a>.</p>
- <p>If a property's <a href=#concept-property-value title=concept-property-value>value</a>
- represents a <a href=#concept-date title=concept-date>date</a>, <a href=#concept-time title=concept-time>time</a>, or <a href=#concept-datetime title=concept-datetime>global date and time</a>, as defined by
- the property's definition, the property must be specified using the
- <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute of a
- <code><a href=#the-time-element>time</a></code> element.</p>
-
<p class=note>These requirements do not apply just because a
- property value happens to match the syntax for a URL or date/time
- construct. They only apply if the property is explicitly defined as
- taking such a value.</p>
+ property value happens to match the syntax for a URL. They only
+ apply if the property is explicitly defined as taking such a
+ value.</p>
<p class=example>For example, a book about the first moon landing
- could be called "1969-07-20". A "title" property from a vocabulary
- that defines a title as being a string would not expect the title to
- be given in a <code><a href=#the-time-element>time</a></code> element, even though it looks like a
- date. On the other hand, if there was a (rather narrowly scoped!)
- vocaburaly for "books whose titles imply dates" which had a "title"
- property defined to take a date, then the property <em>would</em>
- expect the title to be given in a <code><a href=#the-time-element>time</a></code> element, because
- of the requirement above.</p>
+ <!-- 1969-07-20 --> could be called "mission:moon". A "title"
+ property from a vocabulary that defines a title as being a string
+ would not expect the title to be given in an <code><a href=#the-a-element>a</a></code> element,
+ even though it looks like a <a href=#url>URL</a>. On the other hand, if
+ there was a (rather narrowly scoped!) vocabulary for "books whose
+ titles look like URLs" which had a "title" property defined to take
+ a URL, then the property <em>would</em> expect the title to be given
+ in an <code><a href=#the-a-element>a</a></code> element (or one of the other <a href=#url-property-elements>URL property
+ elements</a>), because of the requirement above.</p>
@@ -58590,10 +58470,9 @@ <h3 id=microdata-dom-api><span class=secno>5.3 </span>Microdata DOM API</h3>
<dd><p>The attribute must act as it would if it was <a href=#reflect title=reflect>reflecting</a> the element's <code title="">data</code> content attribute.</dd>
- <dt>If the element is a <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute</dt>
+ <dt>If the element is a <code><a href=#the-data-element>data</a></code> element</dt>
- <dd><p>The attribute must act as it would if it was <a href=#reflect title=reflect>reflecting</a> the element's <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> content
- attribute.</dd>
+ <dd><p>The attribute must act as it would if it was <a href=#reflect title=reflect>reflecting</a> the element's <code title=attr-data-value><a href=#attr-data-value>value</a></code> content attribute.</dd>
<dt>Otherwise</dt>
@@ -59969,16 +59848,12 @@ <h4 id=vcard><span class=secno>5.4.1 </span>vCard</h4>
<li><p>If <var title="">element</var> is one of the <a href=#url-property-elements>URL
property elements</a>, 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><a href=#the-time-element>time</a></code> element and the <var title="">value</var> is
- a <a href=#valid-date-string>valid date string</a>, 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="">name</var> is <code title=md-vcard-bday><a href=#md-vcard-bday>bday</a></code> and the <var title="">value</var> is a <a href=#valid-date-string>valid date string</a>, 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><a href=#the-time-element>time</a></code> element and the <var title="">value</var> is
- a <a href=#valid-global-date-and-time-string>valid global date and time string</a>, 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>Otherwise, if <var title="">name</var> is <code title=md-vcard-bday><a href=#md-vcard-bday>rev</a></code> and the <var title="">value</var> is a <a href=#valid-global-date-and-time-string>valid global date and time
+ string</a>, 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
@@ -60860,8 +60735,12 @@ <h4 id=vevent><span class=secno>5.4.2 </span>vEvent</h4>
</dd>
- <dt>If <var title="">element</var> is a <code><a href=#the-time-element>time</a></code>
- element</dt>
+ <dt>If the property is <code title=md-event-dtend>dtend</code></dt>
+ <dt>If the property is <code title=md-event-dtstart>dtstart</code></dt>
+ <dt>If the property is <code title=md-event-exdate>exdate</code></dt>
+ <dt>If the property is <code title=md-event-rdate>rdate</code></dt>
+ <dt>If the property is <code title=md-event-created>created</code></dt>
+ <dt>If the property is <code title=md-event-last-modified>last-modified</code></dt>
<dd>
@@ -61000,8 +60879,8 @@ <h5 id=examples-2><span class=secno>5.4.2.2 </span>Examples</h5>
...
&lt;h1 itemprop="summary"&gt;Bluesday Tuesday: Money Road&lt;/h1&gt;
...
- &lt;time itemprop="dtstart" datetime="2009-05-05T19:00:00Z"&gt;May 5th @ 7pm&lt;/time&gt;
- (until &lt;time itemprop="dtend" datetime="2009-05-05T21:00:00Z"&gt;9pm&lt;/time&gt;)
+ &lt;data itemprop="dtstart" value="2009-05-05T19:00:00Z"&gt;May 5th @ 7pm&lt;/data&gt;
+ (until &lt;data itemprop="dtend" value="2009-05-05T21:00:00Z"&gt;9pm&lt;/data&gt;)
...
&lt;a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
rel="bookmark" itemprop="url"&gt;Link to this page&lt;/a&gt;
@@ -61062,8 +60941,8 @@ <h5 id=examples-2><span class=secno>5.4.2.2 </span>Examples</h5>
<pre>&lt;div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent"&gt;
&lt;p&gt;I'm going to
&lt;strong itemprop="summary"&gt;Bluesday Tuesday: Money Road&lt;/strong&gt;,
- &lt;time itemprop="dtstart" datetime="2009-05-05T19:00:00Z"&gt;May 5th at 7pm&lt;/time&gt;
- to &lt;time itemprop="dtend" content="2009-05-05T21:00:00Z"&gt;9pm&lt;/time&gt;,
+ &lt;data itemprop="dtstart" value="2009-05-05T19:00:00Z"&gt;May 5th at 7pm&lt;/data&gt;
+ to &lt;data itemprop="dtend" value="2009-05-05T21:00:00Z"&gt;9pm&lt;/data&gt;,
at &lt;span itemprop="location"&gt;The RoadHouse&lt;/span&gt;!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
itemprop="url"&gt;See this event on livebrum.co.uk&lt;/a&gt;.&lt;/p&gt;
@@ -61270,589 +61149,15 @@ <h4 id=json><span class=secno>5.5.1 </span>JSON</h4>
<li><p>Return <var title="">result</var>.</li>
- </ol></div><!--data-component-->
-
-
-
-
- <div data-component="other Hixie drafts (editor: Ian Hickson)">
-
- <h4 id=atom><span class=secno>5.5.2 </span>Atom</h4>
-
- <p>Given a <code><a href=#document>Document</a></code> <var title="">source</var>, a user
- agent may run the following algorithm to <dfn id=extracting-atom title="extracting
- Atom">extract an Atom feed</dfn>. This is not the only algorithm
- that can be used for this purpose; for instance, a user agent might
- instead use the hAtom algorithm. <a href=#refsHATOM>[HATOM]</a></p>
-
- <ol><li><p>If the <code><a href=#document>Document</a></code> <var title="">source</var> does
- not contain any <code><a href=#the-article-element>article</a></code> elements, then return nothing
- and abort these steps. This algorithm can only be used with
- documents that contain distinct articles.</p>
-
- <li><p>Let <var title="">R</var> be an empty <a href=#xml-documents title="XML
- documents">XML</a> <code><a href=#document>Document</a></code> object whose <a href="#the-document's-address" title="the document's address">address</a> is user-agent
- defined.</li>
-
- <li><p>Append a <code title="">feed</code> element in the
- <a href=#atom-namespace>Atom namespace</a> to <var title="">R</var>.</li>
-
- <li>
-
- <p>For each <code><a href=#the-meta-element>meta</a></code> element with a <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute and a <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute and whose <code title=attr-meta-name><a href=#attr-meta-name>name</a></code> attribute's value is <code title=meta-author><a href=#meta-author>author</a></code>, run the following substeps:</p>
-
- <ol><li><p>Append an <code title="">author</code> element in the
- <a href=#atom-namespace>Atom namespace</a> to the root element of <var title="">R</var>.</li>
-
- <li><p>Append a <code title="">name</code> element in the
- <a href=#atom-namespace>Atom namespace</a> to the element created in the
- previous step.</p>
-
- <li><p>Append a text node whose data is the value of the
- <code><a href=#the-meta-element>meta</a></code> element's <code title=attr-meta-content><a href=#attr-meta-content>content</a></code> attribute to the element
- created in the previous step.</li>
-
- </ol><!-- could use vCards instead, and get <atom:email> and <atom:uri>
- elements out of this instead of just <atom:name> --></li>
-
- <li>
-
- <p>If there is a <code><a href=#the-link-element>link</a></code> element with a <code title=attr-link-rel><a href=#attr-link-rel>rel</a></code> attribute, and <a href=#split-a-string-on-spaces title="split
- a string on spaces">splitting on spaces</a> the value of that
- attribute results in a list which has at least one token that is
- an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title=rel-icon><a href=#rel-icon>icon</a></code>", and that element also has an <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute whose value
- successfully <a href=#resolve-a-url title="resolve a url">resolves</a> relative
- to the <code><a href=#the-link-element>link</a></code> element, then append an <code title="">icon</code> element in the <a href=#atom-namespace>Atom namespace</a> to
- the root element of <var title="">R</var> whose contents is a text
- node with its data set to the <a href=#absolute-url>absolute URL</a> resulting
- from <a href=#resolve-a-url title="resolve a url">resolving</a> the value of the
- <code title=attr-link-href><a href=#attr-link-href>href</a></code> attribute of the first
- such <code><a href=#the-link-element>link</a></code> element.</p>
-
- <!-- could check ratio, could check type... -->
-
- </li>
-
- <li>
-
- <p>Append an <code title="">id</code> element in the <a href=#atom-namespace>Atom
- namespace</a> to the root element of <var title="">R</var>
- whose contents is a text node with its data set to <a href="#the-document's-current-address">the
- document's current address</a>.</p>
-
- </li>
-
- <li>
-
- <p>Optionally: Let <var title="">x</var> be a <code title="">link</code> element in the <a href=#atom-namespace>Atom
- namespace</a>. Add a <code title="">rel</code> attribute whose
- value is the string "<code title="">self</code>" to <var title="">x</var>. Append a text node with its data set to the
- (user-agent-defined) <a href="#the-document's-address" title="the document's
- address">address</a> of <var title="">R</var> to <var title="">x</var>. Append <var title="">x</var> to the root element
- of <var title="">R</var>.</p>
-
- <p class=note>This step would be skipped when the document <var title="">R</var> has no convenient <a href="#the-document's-address" title="the document's
- address">address</a>. The presence of the <code title="">rel="self"</code> link is a "should"-level requirement in
- the Atom specification.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">x</var> be a <code title="">link</code>
- element in the <a href=#atom-namespace>Atom namespace</a>. Add a <code title="">rel</code> attribute whose value is the string "<code title="">alternate</code>" to <var title="">x</var>. If the
- document being converted is an <a href=#html-documents title="HTML documents">HTML
- document</a>, add a <code title="">type</code> attribute whose
- value is the string "<code><a href=#text/html>text/html</a></code>" to <var title="">x</var>. Otherwise, the document being converted is an
- <a href=#xml-documents title="XML documents">XML document</a>; add a <code title="">type</code> attribute whose value is the string
- "<code><a href=#application/xhtml+xml>application/xhtml+xml</a></code>" to <var title="">x</var>. Add
- an <code title="">href</code> attribute whose value is <a href="#the-document's-current-address">the
- document's current address</a> to <var title="">x</var>. Append
- <var title="">x</var> to the root element of <var title="">R</var>.</p>
-
- </li>
-
- <li><p>Let <var title="">subheading content</var> be an empty
- list.</li>
-
- <li><p>Let <var title="">heading</var> be the first element of
- <a href=#heading-content>heading content</a> whose nearest ancestor element that is
- a <a href=#sectioning-root>sectioning root</a> or that is <a href=#sectioning-content>sectioning
- content</a> is <a href=#the-body-element-0>the body element</a>, if any, or null if
- there is none.</li>
-
- <li>
-
- <p>Take the appropriate action from the following list, as
- determined by the type of the <var title="">heading</var>
- element:</p>
-
- <dl><dt>If <var title="">heading</var> is null</dt>
-
- <dd>
-
- <p>Let <var title="">heading content</var> be the descendants of
- <a href=#the-title-element-0>the <code>title</code> element</a>, if there is one, or
- an empty list otherwise.</p>
-
- </dd>
-
- <dt>If <var title="">heading</var> is an <code><a href=#the-hgroup-element>hgroup</a></code> element</dt>
-
- <dd>
-
- <p>If <var title="">heading</var> contains no child
- <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>&ndash;<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> elements, let <var title="">heading content</var> be an empty list.</p>
-
- <p>Otherwise, let <var title="">headings list</var> be a list of
- all the <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>&ndash;<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> element children
- of <var title="">heading</var>, sorted first by descending
- <a href=#rank>rank</a> and then in <a href=#tree-order>tree order</a> (so
- <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>s first, then <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>s, etc, with each
- group in the order they appear in the document). Then, let <var title="">heading content</var> be the descendants of the first
- entry in <var title="">headings list</var>, and if there are
- multiple entries, let <var title="">subheading content</var> be
- the descendants of the second entry in <var title="">headings
- list</var>.</p>
-
- </dd>
-
- <dt>If <var title="">heading</var> is an <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>&ndash;<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> element</dt>
-
- <dd>
-
- <p>Let <var title="">heading content</var> be the descendants of
- <var title="">heading</var>.</p>
-
- </dd>
-
- </dl></li>
-
- <li>
-
- <p><a href=#concept-node-clone title=concept-node-clone>Clone</a> the nodes in <var title="">heading content</var> and their descendants into an
- environment that has <a href=#concept-bc-noscript title=concept-bc-noscript>scripting
- disabled</a>, has no <a href=#plugin title=plugin>plugins</a>, and
- fails any attempt to <a href=#fetch title=fetch>fetch</a> any
- resources. Let <var title="">cloned heading content</var> be a new
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the resulting cloned
- nodes, preserving their relative order.</p>
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then: Let <var title="">x</var>
- be a <code title="">title</code> element in the <a href=#atom-namespace>Atom
- namespace</a>. Add a <code title="">type</code> attribute whose
- value is the string "<code title="">html</code>" to <var title="">x</var>. Append a text node with its data set to the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on <var title="">cloned heading content</var> to
- <var title="">x</var>. Append <var title="">x</var> to the root
- element of <var title="">R</var>.</p>
-
- <p>Otherwise, the document being converted is an <a href=#xml-documents title="XML
- documents">XML document</a>: Let <var title="">x</var> be a
- <code title="">title</code> element in the <a href=#atom-namespace>Atom
- namespace</a>. Add a <code title="">type</code> attribute whose
- value is the string "<code title="">xhtml</code>" to <var title="">x</var>. Append a <code><a href=#the-div-element>div</a></code> element to <var title="">x</var>. Move all the child nodes of the <var title="">cloned heading content</var> node to that
- <code><a href=#the-div-element>div</a></code> element, preserving their relative order. Append
- <var title="">x</var> to the root element of <var title="">R</var>.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">subheading content</var> is not an empty list,
- run these substeps:</p>
-
- <ol><li>
-
- <p><a href=#concept-node-clone title=concept-node-clone>Clone</a> the nodes in
- <var title="">subheading content</var> and their descendants
- into an environment that has <a href=#concept-bc-noscript title=concept-bc-noscript>scripting disabled</a>, has no
- <a href=#plugin title=plugin>plugins</a>, and fails any attempt to
- <a href=#fetch title=fetch>fetch</a> any resources. Let <var title="">cloned subheading content</var> be a new
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the resulting cloned
- nodes, preserving their relative order.</p>
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then: Let <var title="">x</var>
- be a <code title="">subtitle</code> element in the <a href=#atom-namespace>Atom
- namespace</a>. Add a <code title="">type</code> attribute
- whose value is the string "<code title="">html</code>" to <var title="">x</var>. Append a text node with its data set to the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on <var title="">cloned subheading
- content</var> to <var title="">x</var>. Append <var title="">x</var> to the root element of <var title="">R</var>.</p>
-
- <p>Otherwise, the document being converted is an <a href=#xml-documents title="XML documents">XML document</a>: Let <var title="">x</var> be a <code title="">subtitle</code> element in
- the <a href=#atom-namespace>Atom namespace</a>. Add a <code title="">type</code> attribute whose value is the string "<code title="">xhtml</code>" to <var title="">x</var>. Append a
- <code><a href=#the-div-element>div</a></code> element to <var title="">x</var>. Move all the
- child nodes of the <var title="">cloned subheading content</var>
- node to that <code><a href=#the-div-element>div</a></code> element, preserving their relative
- order. Append <var title="">x</var> to the root element of <var title="">R</var>.</p>
-
- </li>
-
- </ol></li>
-
- <li><p>Let <var title="">global update date</var> have no
- value.</li>
-
- <li>
-
- <p>For each <code><a href=#the-article-element>article</a></code> element <var title="">article</var> that does not have an ancestor
- <code><a href=#the-article-element>article</a></code> element, run the following steps:</p>
-
- <ol><li><p>Let <var title="">E</var> be an <code title="">entry</code> element in the <a href=#atom-namespace>Atom namespace</a>,
- and append <var title="">E</var> to the root element of <var title="">R</var>.</li>
-
- <li>
-
- <p>Set the <code title=attr-xml-base><a href=#the-xml:base-attribute-(xml-only)>xml:base</a></code> attribute
- of <var title="">E</var> to the <i>base URI of the element</i>
- <var title="">article</var>, as defined by the XML Base
- specification, with <i>the base URI of the document entity</i>
- being defined as the <a href=#document-base-url>document base URL</a> of the
- <code><a href=#document>Document</a></code> <var title="">source</var>. <a href=#refsXMLBASE>[XMLBASE]</a></p>
-
- <p>For the purposes of the XML Base specification, user agents
- must act as if all <code><a href=#document>Document</a></code> objects represented XML
- documents.</p>
-
- </li>
-
- <li><p>Let <var title="">heading</var> be the first element of
- <a href=#heading-content>heading content</a> whose nearest ancestor of
- <a href=#sectioning-content>sectioning content</a> is <var title="">article</var>,
- if any, or null if there is none.</li>
-
- <li>
-
- <p>Take the appropriate action from the following list, as
- determined by the type of the <var title="">heading</var>
- element:</p>
-
- <dl><dt>If <var title="">heading</var> is null</dt>
-
- <dd>
-
- <p>Let <var title="">heading content</var> be an empty
- list.</p>
-
- </dd>
-
- <dt>If <var title="">heading</var> is an <code><a href=#the-hgroup-element>hgroup</a></code> element</dt>
-
- <dd>
-
- <p>If <var title="">heading</var> contains no child
- <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>&ndash;<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> elements, let <var title="">heading content</var> be an empty list.</p>
-
- <p>Otherwise, let <var title="">headings list</var> be a list
- of all the <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>&ndash;<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> element
- children of <var title="">heading</var>, sorted first by
- descending <a href=#rank>rank</a> and then in <a href=#tree-order>tree
- order</a> (so <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>s first, then
- <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h2</a></code>s, etc, with each group in the order they
- appear in the document). Then, let <var title="">heading
- content</var> be the descendants of the first entry in <var title="">headings list</var>.</p>
-
- </dd>
-
- <dt>If <var title="">heading</var> is an <code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h1</a></code>&ndash;<code><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>h6</a></code> element</dt>
-
- <dd>
-
- <p>Let <var title="">heading content</var> be the descendants
- of <var title="">heading</var>.</p>
-
- </dd>
-
- </dl><p class=note>This algorithm differs from the earlier similar
- algorithm in that it doesn't extract subheadings from
- <code><a href=#the-hgroup-element>hgroup</a></code> and it has no default fallback when <var title="">heading</var> is null.</p>
-
- </li>
-
- <li>
-
- <p><a href=#concept-node-clone title=concept-node-clone>Clone</a> the nodes in
- <var title="">heading content</var> and their descendants into
- an environment that has <a href=#concept-bc-noscript title=concept-bc-noscript>scripting disabled</a>, has no
- <a href=#plugin title=plugin>plugins</a>, and fails any attempt to
- <a href=#fetch title=fetch>fetch</a> any resources. Let <var title="">cloned heading content</var> be a new
- <code><a href=#documentfragment>DocumentFragment</a></code> containing the resulting cloned
- nodes, preserving their relative order.</p>
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then: Let <var title="">x</var>
- be a <code title="">title</code> element in the <a href=#atom-namespace>Atom
- namespace</a>. Add a <code title="">type</code> attribute
- whose value is the string "<code title="">html</code>" to <var title="">x</var>. Append a text node with its data set to the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on <var title="">cloned heading content</var>
- to <var title="">x</var>. Append <var title="">x</var> to <var title="">E</var>.</p>
-
- <p>Otherwise, the document being converted is an <a href=#xml-documents title="XML documents">XML document</a>: Let <var title="">x</var> be a <code title="">title</code> element in the
- <a href=#atom-namespace>Atom namespace</a>. Add a <code title="">type</code>
- attribute whose value is the string "<code title="">xhtml</code>" to <var title="">x</var>. Append a
- <code><a href=#the-div-element>div</a></code> element to <var title="">x</var>. Move all the
- child nodes of the <var title="">cloned heading content</var>
- node to that <code><a href=#the-div-element>div</a></code> element, preserving their relative
- order. Append <var title="">x</var> to <var title="">E</var>.</p>
-
- </li>
-
- <!-- <atom:author> is required either at the feed level (above)
- or the entry level (here) but we don't provide it here -->
-
- <li>
-
- <p><a href=#concept-node-clone title=concept-node-clone>Clone</a> <var title="">article</var> and its descendants into an environment
- that has <a href=#concept-bc-noscript title=concept-bc-noscript>scripting
- disabled</a>, has no <a href=#plugin title=plugin>plugins</a>, and
- fails any attempt to <a href=#fetch title=fetch>fetch</a> any
- resources. Let <var title="">cloned article</var> be the
- resulting clone <code><a href=#the-article-element>article</a></code> element.</p>
-
- </li>
-
- <li>
-
- <p>Find in the subtree rooted at <var title="">cloned
- article</var> all the <code><a href=#the-article-element>article</a></code> elements other than
- the <var title="">cloned article</var> itself, all the
- <code><a href=#the-header-element>header</a></code>, <code><a href=#the-footer-element>footer</a></code>, and <code><a href=#the-nav-element>nav</a></code>
- elements whose nearest ancestor of <a href=#sectioning-content>sectioning
- content</a> is the <var title="">cloned article</var>, and
- the first element of <a href=#heading-content>heading content</a> whose nearest
- ancestor of <a href=#sectioning-content>sectioning content</a> is the <var title="">cloned article</var>, if any, and remove them all.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">cloned article</var> contains any
- <code><a href=#the-ins-element>ins</a></code> or <code><a href=#the-del-element>del</a></code> elements with <code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code> attributes whose
- values <a href=#parse-a-global-date-and-time-string title="parse a global date and time string">parse
- as global date and time strings</a> without errors, then let
- <var title="">update date</var> be the value of the <code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code> attribute that parses
- to the newest <a href=#concept-datetime title=concept-datetime>global date and
- time</a>.</p>
-
- <p>Otherwise, let <var title="">update date</var> have no
- value.</p>
-
- <p class=note>This value is used below; it is calculated here
- because in certain cases the next step mutates the <var title="">cloned article</var>.</p>
-
- <p class=note>Any <code><a href=#the-ins-element>ins</a></code> or <code><a href=#the-del-element>del</a></code>
- elements whose <code title=attr-mod-datetime><a href=#attr-mod-datetime>datetime</a></code>
- attributes have values that are just <a href=#valid-date-string title="valid date
- string">valid date strings</a> (i.e. that have no time
- component) are ignored for the purposes of finding the update
- time of an entry.</p> <!-- because atom needs a time, as far as
- I can tell -->
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <a href=#html-documents title="HTML
- documents">HTML document</a>, then: Let <var title="">x</var>
- be a <code title="">content</code> element in the <a href=#atom-namespace>Atom
- namespace</a>. Add a <code title="">type</code> attribute
- whose value is the string "<code title="">html</code>" to <var title="">x</var>. Append a text node with its data set to the
- result of running the <a href=#html-fragment-serialization-algorithm>HTML fragment serialization
- algorithm</a> on <var title="">cloned article</var> to <var title="">x</var>. Append <var title="">x</var> to <var title="">E</var>.</p>
-
- <p>Otherwise, the document being converted is an <a href=#xml-documents title="XML documents">XML document</a>: Let <var title="">x</var> be a <code title="">content</code> element in
- the <a href=#atom-namespace>Atom namespace</a>. Add a <code title="">type</code> attribute whose value is the string "<code title="">xhtml</code>" to <var title="">x</var>. Append a
- <code><a href=#the-div-element>div</a></code> element to <var title="">x</var>. Move all the
- child nodes of the <var title="">cloned article</var> node to
- that <code><a href=#the-div-element>div</a></code> element, preserving their relative
- order. Append <var title="">x</var> to <var title="">E</var>.</p>
-
- </li>
-
- <li>
-
- <p>Establish the value of <var title="">id</var> and <var title="">has-alternate</var> from the first of the following to
- apply:</p>
-
- <dl><dt>If the <var title="">article</var> node has a descendant
- <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code> element with an <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code> attribute that
- successfully <a href=#resolve-a-url title="resolve a url">resolves</a>
- relative to that descendant and a <code title=attr-hyperlink-rel><a href=#attr-hyperlink-rel>rel</a></code> attribute, and <a href=#split-a-string-on-spaces title="split a string on spaces">splitting on spaces</a> the
- value of that attribute results in a list which has at least
- one token that is an <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match
- for the string "<code title=rel-bookmark><a href=#link-type-bookmark>bookmark</a></code>"</dt>
-
- <dd>Let <var title="">id</var> be the <a href=#absolute-url>absolute URL</a>
- resulting from <a href=#resolve-a-url title="resolve a url">resolving</a> the
- value of the <code title=attr-hyperlink-href><a href=#attr-hyperlink-href>href</a></code>
- attribute of the first such <code><a href=#the-a-element>a</a></code> or <code><a href=#the-area-element>area</a></code>
- element, relative to the element. Let <var title="">has-alternate</var> be true.</dd>
-
- <dt>If the <var title="">article</var> node has an <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute</dt>
-
- <dd>Let <var title="">id</var> be <a href="#the-document's-current-address">the document's current
- address</a>, with the fragment identifier (if any) removed,
- and with a new fragment identifier specified, consisting of the
- value of the <var title="">article</var> element's <code title=attr-id><a href=#the-id-attribute>id</a></code> attribute. Let <var title="">has-alternate</var> be false.</dd>
-
- <dt>Otherwise</dt>
-
- <dd>Let <var title="">id</var> be a user-agent-defined
- undereferenceable yet globally unique <a href=#valid-url title="valid
- URL">valid</a> <a href=#absolute-url>absolute URL</a>. The same
- <a href=#absolute-url>absolute URL</a> should be generated for each run of
- this algorithm when given the same input. Let <var title="">has-alternate</var> be false.</dd>
-
- </dl></li>
-
- <li>
-
- <p>Append an <code title="">id</code> element in the <a href=#atom-namespace>Atom
- namespace</a> to <var title="">E</var> whose contents is a
- text node with its data set to <var title="">id</var>.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">has-alternate</var> is true: Let <var title="">x</var> be a <code title="">link</code> element in the
- <a href=#atom-namespace>Atom namespace</a>. Add a <code title="">rel</code>
- attribute whose value is the string "<code title="">alternate</code>" to <var title="">x</var>. Add an
- <code title="">href</code> attribute whose value is <var title="">id</var> to <var title="">x</var>. Append <var title="">x</var> to <var title="">E</var>.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">article</var> has a <code><a href=#the-time-element>time</a></code>
- element descendant that has a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute and whose
- nearest ancestor <code><a href=#the-article-element>article</a></code> element is <var title="">article</var>, and the first such element's <a href=#concept-time-date title=concept-time-date>date</a> is not unknown, then run
- the following substeps, with <var title="">e</var> being the
- first such element:</p>
-
- <ol><li><p>Let <var title="">datetime</var> be a <a href=#concept-datetime title=concept-datetime>global date and time</a> whose date
- component is the <a href=#concept-time-date title=concept-time-date>date</a> of
- <var title="">e</var>.</li>
-
- <li><p>If <var title="">e</var>'s <a href=#concept-time-time title=concept-time-time>time</a> and <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a> are not
- unknown, then let <var title="">datetime</var>'s time and
- time-zone offset components be the <a href=#concept-time-time title=concept-time-time>time</a> and <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a> of <var title="">e</var>. Otherwise, let them be midnight and no offset
- respectively ("<code title="">00:00Z</code>").</li>
-
- <li><p>Let <var title="">publication date</var> be the
- <a href=#best-representation-of-the-global-date-and-time-string>best representation of the global date and time
- string</a> <var title="">datetime</var>.</li>
-
- </ol><p>Otherwise, let <var title="">publication date</var> have no
- value.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">update date</var> has no value but <var title="">publication date</var> does, then let <var title="">update date</var> have the value of <var title="">publication date</var>.</p>
-
- <p>Otherwise, if <var title="">publication date</var> has no
- value but <var title="">update date</var> does, then let <var title="">publication date</var> have the value of <var title="">update date</var>.</p>
-
- </li>
-
- <li>
-
- <p>If <var title="">update date</var> has a value, and <var title="">global update date</var> has no value or is less recent
- than <var title="">update date</var>, then let <var title="">global update date</var> have the value of <var title="">update date</var>.</p>
-
- </li>
-
- <li>
-
- <p>Let <var title="">fallback date</var> be the <a href=#concept-datetime title=concept-datetime>global date and time</a> of the
- moment that this algorithm was invoked, with a resolution of one
- second (i.e. not including a fractional second component).</p>
-
- <p>If <var title="">publication date</var> and <var title="">update date</var> both still have no value, then let
- them both have a value that is the <a href=#best-representation-of-the-global-date-and-time-string>best representation of
- the global date and time string</a> <var title="">fallback
- date</var>.</p>
-
- </li>
-
- <li>
-
- <p>Append a <code title="">published</code> element in the
- <a href=#atom-namespace>Atom namespace</a> to <var title="">E</var> whose
- contents is a text node with its data set to <var title="">publication date</var>.</p>
-
- </li>
-
- <li>
-
- <p>Append an <code title="">updated</code> element in the
- <a href=#atom-namespace>Atom namespace</a> to <var title="">E</var> whose
- contents is a text node with its data set to <var title="">update date</var>.</p>
-
- </li>
-
- </ol></li>
-
- <li>
-
- <p>If <var title="">global update date</var> has no value, then
- let it have a value that is a <a href=#valid-global-date-and-time-string>valid global date and time
- string</a> representing the <a href=#concept-datetime title=concept-datetime>global date and time</a> of the date
- and time of the <code><a href=#document>Document</a></code>'s source file's last
- modification, if it is known, or else of the moment that this
- algorithm was invoked.</p>
-
- </li>
-
- <li>
-
- <p>Insert an <code title="">updated</code> element in the
- <a href=#atom-namespace>Atom namespace</a> into the root element of <var title="">R</var> before the first <code title="">entry</code> in
- the <a href=#atom-namespace>Atom namespace</a> whose contents is a text node with
- its data set to <var title="">global update date</var>.</p>
-
- </li>
-
- <li><p>Return the Atom document <var title="">R</var>.</li>
+ </ol></div>
- </ol><p class=note>The above algorithm does not guarantee that the
- output will be a conforming Atom feed. In particular, if
- insufficient information is provided in the document (e.g. if the
- document does not have any <code title="">&lt;meta name="author"
- content="..."&gt;</code> elements), then the output will not be
- conforming.</p>
- <p>The <dfn id=atom-namespace>Atom namespace</dfn> is: <code>http://www.w3.org/2005/Atom</code></p>
- </div>
+ </div><!--data-component-->
<!--MD-->
- </div>
-
-
-
-
-
<h2 id=browsers><span class=secno>6 </span>Loading Web pages</h2>
<div class=impl>
@@ -95703,25 +95008,6 @@ <h4 id=the-keygen-element-0><span class=secno>15.5.16 </span>The <code><a href=#
</div>
- <div class=impl>
-
- <h4 id=the-time-element-0><span class=secno>15.5.17 </span>The <code><a href=#the-time-element>time</a></code> element</h4>
-
- <pre class=css>@namespace url(http://www.w3.org/1999/xhtml);
-
-time[datetime] { binding: <i title="">time</i>; }</pre>
-
- <p>When the <i title="">time</i> binding applies to a
- <code><a href=#the-time-element>time</a></code> element, the element is expected to render as if
- it contained text conveying the <a href=#concept-time-date title=concept-time-date>date</a> (if known), <a href=#concept-time-time title=concept-time-time>time</a> (if known), and <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a> (if known)
- represented by the element, in the fashion most convenient for the
- user.</p>
-
- <!-- If none are known then the element would appear empty. -->
-
- </div>
-
-
<div class=impl>
@@ -98790,6 +98076,15 @@ <h3 class=no-num id=elements-1>Elements</h3>
<code title=attr-command-checked><a href=#attr-command-checked>checked</a></code>;
<code title=attr-command-radiogroup><a href=#attr-command-radiogroup>radiogroup</a></code></td>
<td><code><a href=#htmlcommandelement>HTMLCommandElement</a></code></td>
+ <tr><th><code><a href=#the-data-element>data</a></code></th>
+ <td>Machine-readable equivalent</td>
+ <td><a href=#flow-content title="Flow content">flow</a>;
+ <a href=#phrasing-content title="Phrasing content">phrasing</a></td>
+ <td><a href=#phrasing-content title="Phrasing content">phrasing</a></td>
+ <td><a href=#phrasing-content title="Phrasing content">phrasing</a></td>
+ <td><a href=#global-attributes title="global attributes">globals</a>;
+ <code title=attr-data-value><a href=#attr-data-value>value</a></code></td>
+ <td><code><a href=#htmldataelement>HTMLDataElement</a></code></td>
<tr><th><code><a href=#the-datalist-element>datalist</a></code></th>
<td>Container for options for <a href=#attr-input-list title=attr-input-list>combo box control</a></td>
<td><a href=#flow-content title="Flow content">flow</a>;
@@ -99573,16 +98868,6 @@ <h3 class=no-num id=elements-1>Elements</h3>
<td><code><a href=#the-tr-element>tr</a></code></td>
<td><a href=#global-attributes title="global attributes">globals</a></td>
<td><code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code></td>
- <tr><th><code><a href=#the-time-element>time</a></code></th>
- <td>Date and/or time</td>
- <td><a href=#flow-content title="Flow content">flow</a>;
- <a href=#phrasing-content title="Phrasing content">phrasing</a></td>
- <td><a href=#phrasing-content title="Phrasing content">phrasing</a></td>
- <td><a href=#phrasing-content title="Phrasing content">phrasing</a>*</td>
- <td><a href=#global-attributes title="global attributes">globals</a>;
- <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code>;
- <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code></td>
- <td><code><a href=#htmltimeelement>HTMLTimeElement</a></code></td>
<tr><th><code><a href=#the-title-element>title</a></code></th>
<td>Document title</td>
<td><a href=#metadata-content title="Metadata content">metadata</a></td>
@@ -99722,6 +99007,7 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code><a href=#the-cite-element>cite</a></code>;
<code><a href=#the-code-element>code</a></code>;
<code><a href=#the-command-element>command</a></code>;
+ <code><a href=#the-data-element>data</a></code>;
<code><a href=#the-datalist-element>datalist</a></code>;
<code><a href=#the-del-element>del</a></code>;
<code><a href=#the-details-element>details</a></code>;
@@ -99779,7 +99065,6 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code><a href=#svg>svg</a></code>;
<code><a href=#the-table-element>table</a></code>;
<code><a href=#the-textarea-element>textarea</a></code>;
- <code><a href=#the-time-element>time</a></code>;
<code><a href=#the-u-element>u</a></code>;
<code><a href=#the-ul-element>ul</a></code>;
<code><a href=#the-var-element>var</a></code>;
@@ -99828,6 +99113,7 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code><a href=#the-cite-element>cite</a></code>;
<code><a href=#the-code-element>code</a></code>;
<code><a href=#the-command-element>command</a></code>;
+ <code><a href=#the-data-element>data</a></code>;
<code><a href=#the-datalist-element>datalist</a></code>;
<code><a href=#the-dfn-element>dfn</a></code>;
<code><a href=#the-em-element>em</a></code>;
@@ -99859,7 +99145,6 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code><a href=#the-sub-and-sup-elements>sup</a></code>;
<code><a href=#svg>svg</a></code>;
<code><a href=#the-textarea-element>textarea</a></code>;
- <code><a href=#the-time-element>time</a></code>;
<code><a href=#the-u-element>u</a></code>;
<code><a href=#the-var-element>var</a></code>;
<code><a href=#the-video-element>video</a></code>;
@@ -99999,6 +99284,7 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code><a href=#the-canvas-element>canvas</a></code>;
<code><a href=#the-cite-element>cite</a></code>;
<code><a href=#the-code-element>code</a></code>;
+ <code><a href=#the-data-element>data</a></code>;
<code><a href=#the-details-element>details</a></code>;
<code><a href=#the-dfn-element>dfn</a></code>;
<code><a href=#the-div-element>div</a></code>;
@@ -100047,7 +99333,6 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code><a href=#svg>svg</a></code>;
<code><a href=#the-table-element>table</a></code>;
<code><a href=#the-textarea-element>textarea</a></code>;
- <code><a href=#the-time-element>time</a></code>;
<code><a href=#the-u-element>u</a></code>;
<code><a href=#the-var-element>var</a></code>;
<code><a href=#the-video-element>video</a></code>
@@ -100190,10 +99475,6 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<code title=attr-mod-datetime><a href=#attr-mod-datetime>ins</a></code>
<td> Date and (optionally) time of the change
<td> <a href=#valid-date-string-with-optional-time>Valid date string with optional time</a>
- <tr><th> <code title="">datetime</code>
- <td> <code title=attr-time-datetime><a href=#attr-time-datetime>time</a></code>
- <td> Value of the element
- <td> <a href=#valid-date-or-time-string>Valid date or time string</a>*
<tr><th> <code title="">default</code>
<td> <code title=attr-track-default><a href=#attr-track-default>track</a></code>
<td> Enable the track if no other <a href=#text-track>text track</a> is more suitable.
@@ -100411,7 +99692,7 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<tr><th> <code title="">max</code>
<td> <code title=attr-input-max><a href=#attr-input-max>input</a></code>
<td> Maximum value
- <td> varies*
+ <td> Varies*
<tr><th> <code title="">max</code>
<td> <code title=attr-meter-max><a href=#attr-meter-max>meter</a></code>;
<code title=attr-progress-max><a href=#attr-progress-max>progress</a></code>
@@ -100442,7 +99723,7 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<tr><th> <code title="">min</code>
<td> <code title=attr-input-min><a href=#attr-input-min>input</a></code>
<td> Minimum value
- <td> varies*
+ <td> Varies*
<tr><th> <code title="">min</code>
<td> <code title=attr-meter-min><a href=#attr-meter-min>meter</a></code>
<td> Lower bound of range
@@ -100527,10 +99808,6 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<td> "<code title=attr-media-preload-none><a href=#attr-media-preload-none>none</a></code>";
"<code title=attr-media-preload-metadata><a href=#attr-media-preload-metadata>metadata</a></code>";
"<code title=attr-media-preload-auto><a href=#attr-media-preload-auto>auto</a></code>"
- <tr><th> <code title="">pubdate</code>
- <td> <code title=attr-time-pubdate><a href=#attr-time-pubdate>time</a></code>
- <td> Whether the element's value represents a publication time for the nearest <code><a href=#the-article-element>article</a></code> or <code><a href=#the-body-element>body</a></code>
- <td> <a href=#boolean-attribute>Boolean attribute</a>
<tr><th> <code title="">radiogroup</code>
<td> <code title=attr-command-radiogroup><a href=#attr-command-radiogroup>command</a></code>
<td> Name of group of commands to treat as a radio button group
@@ -100738,9 +100015,13 @@ <h3 class=no-num id=element-content-categories>Element content categories</h3>
<td> Value to be used for <a href=#form-submission>form submission</a>
<td> <a href=#attribute-text>Text</a>
<tr><th> <code title="">value</code>
+ <td> <code title=attr-data-value><a href=#attr-data-value>input</a></code>
+ <td> Machine-readable value
+ <td> <a href=#attribute-text>Text</a>*
+ <tr><th> <code title="">value</code>
<td> <code title=attr-input-value><a href=#attr-input-value>input</a></code>
<td> Value of the form control
- <td> varies*
+ <td> Varies*
<tr><th> <code title="">value</code>
<td> <code title=attr-li-value><a href=#attr-li-value>li</a></code>
<td> <a href=#ordinal-value>Ordinal value</a> of the list item
@@ -101231,6 +100512,9 @@ <h3 class="no-num">Reflecting IDL attributes</h3>
<tr><td> <code><a href=#the-command-element>command</a></code>
<td> <code><a href=#htmlcommandelement>HTMLCommandElement</a></code> : <code><a href=#htmlelement>HTMLElement</a></code>
+ <tr><td> <code><a href=#the-data-element>data</a></code>
+ <td> <code><a href=#htmldataelement>HTMLDataElement</a></code> : <code><a href=#htmlelement>HTMLElement</a></code>
+
<tr><td> <code><a href=#the-datalist-element>datalist</a></code>
<td> <code><a href=#htmldatalistelement>HTMLDataListElement</a></code> : <code><a href=#htmlelement>HTMLElement</a></code>
@@ -101462,9 +100746,6 @@ <h3 class="no-num">Reflecting IDL attributes</h3>
<tr><td> <code><a href=#the-thead-element>thead</a></code>
<td> <code><a href=#htmltablesectionelement>HTMLTableSectionElement</a></code> : <code><a href=#htmlelement>HTMLElement</a></code>
- <tr><td> <code><a href=#the-time-element>time</a></code>
- <td> <code><a href=#htmltimeelement>HTMLTimeElement</a></code> : <code><a href=#htmlelement>HTMLElement</a></code>
-
<tr><td> <code><a href=#the-title-element>title</a></code>
<td> <code><a href=#htmltitleelement>HTMLTitleElement</a></code> : <code><a href=#htmlelement>HTMLElement</a></code>
@@ -101713,10 +100994,6 @@ <h3 class="no-num">Reflecting IDL attributes</h3>
<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius,
C. Clavius. Gregory XIII Papal Bulls, February 1582.</dd>
- <dt id=refsHATOM>[HATOM]</dt>
- <dd>(Non-normative) <cite><a href=http://microformats.org/wiki/hatom>hAtom</a></cite>, D
- Janes. Microformats.</dd>
-
<dt id=refsHMAC>[HMAC]</dt>
<dd><cite><a href=http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf>The Keyed-Hash Message Authentication Code (HMAC)</a></cite>. NIST.</dd>
View
1,169 index
@@ -240,7 +240,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 28 October 2011</h2>
+ <h2 class="no-num no-toc">Living Standard &mdash; Last Updated 29 October 2011</h2>
</hgroup><dl><dt><strong>Web developer edition:</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
@@ -497,7 +497,7 @@
<li><a href=#the-q-element><span class=secno>4.6.7 </span>The <code>q</code> element</a></li>
<li><a href=#the-dfn-element><span class=secno>4.6.8 </span>The <code>dfn</code> element</a></li>
<li><a href=#the-abbr-element><span class=secno>4.6.9 </span>The <code>abbr</code> element</a></li>
- <li><a href=#the-time-element><span class=secno>4.6.10 </span>The <code>time</code> element</a></li>
+ <li><a href=#the-data-element><span class=secno>4.6.10 </span>The <code>data</code> element</a></li>
<li><a href=#the-code-element><span class=secno>4.6.11 </span>The <code>code</code> element</a></li>
<li><a href=#the-var-element><span class=secno>4.6.12 </span>The <code>var</code> element</a></li>
<li><a href=#the-samp-element><span class=secno>4.6.13 </span>The <code>samp</code> element</a></li>
@@ -832,8 +832,7 @@
<li><a href=#examples-3><span class=secno>5.4.3.1 </span>Examples</a></ol></ol></li>
<li><a href=#converting-html-to-other-formats><span class=secno>5.5 </span>Converting HTML to other formats</a>
<ol>
- <li><a href=#json><span class=secno>5.5.1 </span>JSON</a></li>
- <li><a href=#atom><span class=secno>5.5.2 </span>Atom</a></ol></ol></li>
+ <li><a href=#json><span class=secno>5.5.1 </span>JSON</a></ol></ol></li>
<li><a href=#browsers><span class=secno>6 </span>Loading Web pages</a>
<ol>
<li><a href=#windows><span class=secno>6.1 </span>Browsing contexts</a>
@@ -1317,8 +1316,7 @@
<li><a href=#the-progress-element-0><span class=secno>15.5.13 </span>The <code>progress</code> element</a></li>
<li><a href=#the-select-element-0><span class=secno>15.5.14 </span>The <code>select</code> element</a></li>
<li><a href=#the-textarea-element-0><span class=secno>15.5.15 </span>The <code>textarea</code> element</a></li>
- <li><a href=#the-keygen-element-0><span class=secno>15.5.16 </span>The <code>keygen</code> element</a></li>
- <li><a href=#the-time-element-0><span class=secno>15.5.17 </span>The <code>time</code> element</a></ol></li>
+ <li><a href=#the-keygen-element-0><span class=secno>15.5.16 </span>The <code>keygen</code> element</a></ol></li>
<li><a href=#frames-and-framesets><span class=secno>15.6 </span>Frames and framesets</a></li>
<li><a href=#interactive-media><span class=secno>15.7 </span>Interactive media</a>
<ol>
@@ -11500,6 +11498,7 @@ background: transparent"&gt;blue&lt;/span&gt;.&lt;/p&gt;</pre>
<li><code><a href=#the-cite-element>cite</a></code></li>
<li><code><a href=#the-code-element>code</a></code></li>
<li><code><a href=#the-command-element>command</a></code></li>
+ <li><code><a href=#the-data-element>data</a></code></li>
<li><code><a href=#the-datalist-element>datalist</a></code></li>
<li><code><a href=#the-del-element>del</a></code></li>
<li><code><a href=#the-details-element>details</a></code></li>
@@ -11564,7 +11563,6 @@ background: transparent"&gt;blue&lt;/span&gt;.&lt;/p&gt;</pre>
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-table-element>table</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
- <li><code><a href=#the-time-element>time</a></code></li>
<li><code><a href=#the-u-element>u</a></code></li>
<li><code><a href=#the-ul-element>ul</a></code></li>
<li><code><a href=#the-var-element>var</a></code></li>
@@ -11624,6 +11622,7 @@ background: transparent"&gt;blue&lt;/span&gt;.&lt;/p&gt;</pre>
<li><code><a href=#the-cite-element>cite</a></code></li>
<li><code><a href=#the-code-element>code</a></code></li>
<li><code><a href=#the-command-element>command</a></code></li>
+ <li><code><a href=#the-data-element>data</a></code></li>
<li><code><a href=#the-datalist-element>datalist</a></code></li>
<li><code><a href=#the-del-element>del</a></code> (if it contains only <a href=#phrasing-content>phrasing content</a>)</li>
<li><code><a href=#the-dfn-element>dfn</a></code></li>
@@ -11664,7 +11663,6 @@ background: transparent"&gt;blue&lt;/span&gt;.&lt;/p&gt;</pre>
<li><code><a href=#the-sub-and-sup-elements>sup</a></code></li>
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
- <li><code><a href=#the-time-element>time</a></code></li>
<li><code><a href=#the-u-element>u</a></code></li>
<li><code><a href=#the-var-element>var</a></code></li>
<li><code><a href=#the-video-element>video</a></code></li>
@@ -11884,6 +11882,7 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
<li><code><a href=#the-canvas-element>canvas</a></code></li>
<li><code><a href=#the-cite-element>cite</a></code></li>
<li><code><a href=#the-code-element>code</a></code></li>
+ <li><code><a href=#the-data-element>data</a></code></li>
<li><code><a href=#the-details-element>details</a></code></li>
<li><code><a href=#the-dfn-element>dfn</a></code></li>
<li><code><a href=#the-div-element>div</a></code></li>
@@ -11936,7 +11935,6 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
<li><code><a href=#svg>svg</a></code></li>
<li><code><a href=#the-table-element>table</a></code></li>
<li><code><a href=#the-textarea-element>textarea</a></code></li>
- <li><code><a href=#the-time-element>time</a></code></li>
<li><code><a href=#the-u-element>u</a></code></li>
<li><code><a href=#the-ul-element>ul</a></code> (if the element's children include at least one <code><a href=#the-li-element>li</a></code> element)</li>
<li><code><a href=#the-var-element>var</a></code></li>
@@ -16966,13 +16964,13 @@ not-slash = %x0000-002E / %x0030-10FFFF
links are present, but only one of those places is considered a
navigation section.</p>
- <pre>&lt;body&gt;
+ <pre>&lt;body itemscope itemtype="http://schema.org/Blog"&gt;
&lt;header&gt;
&lt;h1&gt;Wake up sheeple!&lt;/h1&gt;
&lt;p&gt;&lt;a href="news.html"&gt;News&lt;/a&gt; -
&lt;a href="blog.html"&gt;Blog&lt;/a&gt; -
&lt;a href="forums.html"&gt;Forums&lt;/a&gt;&lt;/p&gt;
- &lt;p&gt;Last Modified: &lt;time&gt;2009-04-01&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Last Modified: &lt;data itemprop="dateModified"&gt;2009-04-01&lt;/data&gt;&lt;/p&gt;
&lt;nav&gt;
&lt;h1&gt;Navigation&lt;/h1&gt;
&lt;ul&gt;
@@ -16983,22 +16981,25 @@ not-slash = %x0000-002E / %x0030-10FFFF
&lt;/nav&gt;
&lt;/header&gt;
&lt;div&gt;
- &lt;article&gt;
+ &lt;article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting"&gt;
&lt;header&gt;
- &lt;h1&gt;My Day at the Beach&lt;/h1&gt;
+ &lt;h1 itemprop="headline"&gt;My Day at the Beach&lt;/h1&gt;
&lt;/header&gt;
- &lt;div&gt;
+ &lt;div itemprop="articleBody"&gt;
&lt;p&gt;Today I went to the beach and had a lot of fun.&lt;/p&gt;
<em>...more content...</em>
&lt;/div&gt;
&lt;footer&gt;
- &lt;p&gt;Posted &lt;time pubdate="" datetime="2009-10-10T14:36-08:00"&gt;Thursday&lt;/time&gt;.&lt;/p&gt;
+ &lt;p&gt;Posted &lt;data itemprop="datePublished" value="2009-10-10"&gt;Thursday&lt;/data&gt;.&lt;/p&gt;
&lt;/footer&gt;
&lt;/article&gt;
<em>...more blog posts...</em>
&lt;/div&gt;
&lt;footer&gt;
- &lt;p&gt;Copyright &copy; 2006 The Example Company&lt;/p&gt;
+ &lt;p&gt;Copyright &copy;
+ &lt;span itemprop="copyrightYear"&gt;2010&lt;/span&gt;
+ &lt;span itemprop="copyrightHolder"&gt;The Example Company&lt;/span&gt;
+ &lt;/p&gt;
&lt;p&gt;&lt;a href="about.html"&gt;About&lt;/a&gt; -
&lt;a href="policy.html"&gt;Privacy Policy&lt;/a&gt; -
&lt;a href="contact.html"&gt;Contact Us&lt;/a&gt;&lt;/p&gt;
@@ -17009,6 +17010,10 @@ not-slash = %x0000-002E / %x0030-10FFFF
contents of the page other than the header and footer, and all the
contents of the blog entry other than its header and footer.</p>
+ <p>You can also see microdata annotations in the above example that
+ use the schema.org vocabulary to provide the publication date and
+ other metadata about the blog post.</p>
+
</div>
<div class=example>
@@ -17125,51 +17130,59 @@ not-slash = %x0000-002E / %x0030-10FFFF
similar in purpose to the <code title="">entry</code> element in
Atom. <a href=#refsATOM>[ATOM]</a>
- <p class=note>The <code><a href=#the-time-element>time</a></code> element's <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute can be used to
+ <p class=note>The schema.org microdata vocabulary can be used to
provide the publication date for an <code><a href=#the-article-element>article</a></code>
- element.</p>
+ element, using one of the CreativeWork subtypes.</p>
<div class=example id=article-example>
<p>This example shows a blog post using the <code><a href=#the-article-element>article</a></code>
- element:</p>
+ element, with some schema.org annotations:</p>
- <pre>&lt;article&gt;
+ <pre>&lt;article itemscope itemtype="http://schema.org/BlogPosting"&gt;
&lt;header&gt;
- &lt;h1&gt;The Very First Rule of Life&lt;/h1&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-09T14:28-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
- &lt;/header&gt;
+ &lt;h1 itemprop="headline"&gt;The Very First Rule of Life&lt;/h1&gt;
+ &lt;p&gt;&lt;data itemprop="datePublished" value="2009-10-09"&gt;3 days ago&lt;/data&gt;&lt;/p&gt;
+ &lt;link itemprop="url" href="?comments=0"&gt;
+ &lt;/header&gt;[
&lt;p&gt;If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.&lt;/p&gt;
&lt;p&gt;<em>...</em>&lt;/p&gt;
&lt;footer&gt;
- &lt;a href="?comments=1"&gt;Show comments...&lt;/a&gt;
+ &lt;a itemprop="discussionUrl" href="?comments=1"&gt;Show comments...&lt;/a&gt;
&lt;/footer&gt;
&lt;/article&gt;</pre>
<p>Here is that same blog post, but showing some of the comments:</p>
- <pre>&lt;article&gt;
+ <pre>&lt;article itemscope itemtype="http://schema.org/BlogPosting"&gt;
&lt;header&gt;
- &lt;h1&gt;The Very First Rule of Life&lt;/h1&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-09T14:28-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
+ &lt;h1 itemprop="headline"&gt;The Very First Rule of Life&lt;/h1&gt;
+ &lt;p&gt;&lt;data itemprop="datePublished" value="2009-10-09"&gt;3 days ago&lt;/data&gt;&lt;/p&gt;
+ &lt;link itemprop="url" href="?comments=0"&gt;
&lt;/header&gt;
&lt;p&gt;If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.&lt;/p&gt;
&lt;p&gt;<em>...</em>&lt;/p&gt;
&lt;section&gt;
&lt;h1&gt;Comments&lt;/h1&gt;
- &lt;article&gt;
+ &lt;article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c1"&gt;
+ &lt;link itemprop="url" href="#c1"&gt;
&lt;footer&gt;
- &lt;p&gt;Posted by: George Washington&lt;/p&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-10T19:10-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Posted by: &lt;span itemprop="creator" itemscope itemtype="http://schema.org/Person"&gt;
+ &lt;span itemprop="name"&gt;George Washington&lt;/span&gt;
+ &lt;/span&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;data itemprop="commentTime" value="2009-10-10"&gt;15 minutes ago&lt;/data&gt;&lt;/p&gt;
&lt;/footer&gt;
&lt;p&gt;Yeah! Especially when talking about your lobbyist friends!&lt;/p&gt;
&lt;/article&gt;
- &lt;article&gt;
+ &lt;article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c2"&gt;
+ &lt;link itemprop="url" href="#c2"&gt;
&lt;footer&gt;
- &lt;p&gt;Posted by: George Hammond&lt;/p&gt;
- &lt;p&gt;&lt;time pubdate datetime="2009-10-10T19:15-08:00"&gt;&lt;/time&gt;&lt;/p&gt;
+ &lt;p&gt;Posted by: &lt;span itemprop="creator" itemscope itemtype="http://schema.org/Person"&gt;
+ &lt;span itemprop="name"&gt;George Hammond&lt;/span&gt;
+ &lt;/span&gt;&lt;/p&gt;
+ &lt;p&gt;&lt;data itemprop="commentTime" value="2009-10-10"&gt;5 minutes ago&lt;/data&gt;&lt;/p&gt;
&lt;/footer&gt;
&lt;p&gt;Hey, you have the same first name as me.&lt;/p&gt;
&lt;/article&gt;
@@ -17646,7 +17659,7 @@ isn't his only passion. He also enjoys other pleasures.&lt;/p&gt;
&lt;P&gt;&lt;A HREF="/fm/015.ogv"&gt;Download video&lt;/A&gt;.&lt;/P&gt;
&lt;/VIDEO&gt;
&lt;FOOTER&gt; &lt;!-- footer for article --&gt;
- &lt;P&gt;Published &lt;TIME PUBDATE DATETIME="2009-10-21T18:26-07:00"&gt;&lt;/TIME&gt;&lt;/P&gt;
+ &lt;P&gt;Published &lt;DATA VALUE="2009-10-21T18:26-07:00"&gt;on 2009/10/21 at 6:26pm&lt;/DATA&gt;&lt;/P&gt;
&lt;/FOOTER&gt;
&lt;/ARTICLE&gt;
&lt;ARTICLE&gt;
@@ -17655,7 +17668,7 @@ isn't his only passion. He also enjoys other pleasures.&lt;/p&gt;
&lt;P&gt;It is fun to see them pull some coal cars because they look so
dwarfed in comparison.&lt;/P&gt;
&lt;FOOTER&gt; &lt;!-- footer for article --&gt;
- &lt;P&gt;Published &lt;TIME PUBDATE DATETIME="2009-09-15T14:54-07:00"&gt;&lt;/TIME&gt;&lt;/P&gt;
+ &lt;P&gt;Published &lt;DATA VALUE="2009-09-15T14:54-07:00"&gt;on 2009/09/15 at 2:54pm&lt;/DATA&gt;&lt;/P&gt;
&lt;/FOOTER&gt;
&lt;/ARTICLE&gt;
&lt;FOOTER&gt; &lt;!-- site wide footer --&gt;
@@ -20449,7 +20462,7 @@ this specification: the &lt;abbr&gt;WHATWG&lt;/abbr&gt; and the
- <h4 id=the-time-element><span class=secno>4.6.10 </span>The <dfn><code>time</code></dfn> element</h4>
+ <h4 id=the-data-element><span class=secno>4.6.10 </span>The <dfn><code>data</code></dfn> element</h4>
<dl class=element><dt>Categories</dt>
<dd><a href=#flow-content>Flow content</a>.</dd>
@@ -20458,116 +20471,60 @@ this specification: the &lt;abbr&gt;WHATWG&lt;/abbr&gt; and the
<dt>Contexts in which this element can be used:</dt>
<dd>Where <a href=#phrasing-content>phrasing content</a> is expected.</dd>
<dt>Content model:</dt>
- <dd><a href=#phrasing-content>Phrasing content</a>, but there must be no <code><a href=#the-time-element>time</a></code> element descendants.</dd>
+ <dd><a href=#phrasing-content>Phrasing content</a>.</dd>
<dt>Content attributes:</dt>
<dd><a href=#global-attributes>Global attributes</a></dd>
- <dd><code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code></dd>
- <dd><code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code></dd>
+ <dd><code title=attr-data-value><a href=#attr-data-value>value</a></code></dd>
<dt>DOM interface:</dt>
<dd>
-<pre class=idl>interface <dfn id=htmltimeelement>HTMLTimeElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
- attribute DOMString <a href=#dom-time-datetime title=dom-time-datetime>dateTime</a>;
- attribute boolean <a href=#dom-time-pubdate title=dom-time-pubDate>pubDate</a>;
- readonly attribute <span>Date</span>? <a href=#dom-time-valueasdate title=dom-time-valueAsDate>valueAsDate</a>;
+<pre class=idl>interface <dfn id=htmldataelement>HTMLDataElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
+ attribute DOMString <a href=#dom-data-value title=dom-data-value>value</a>;
};</pre>
</dd>
- </dl><p>The <code><a href=#the-time-element>time</a></code> element <a href=#represents>represents</a> either a
- time on a 24 hour clock, or a precise date in the proleptic
- Gregorian calendar, optionally with a time and a time-zone
- offset. <a href=#refsGREGORIAN>[GREGORIAN]</a></p>
+ </dl><p>The <code><a href=#the-data-element>data</a></code> element <a href=#represents>represents</a> its
+ contents, along with a machine-readable form of those contents in
+ the <code title=attr-data-value><a href=#attr-data-value>value</a></code> attribute.</p>
- <p>This element is intended as a way to encode modern dates and
- times in a machine-readable way so that, for example, user agents
- can offer to add birthday reminders or scheduled events to the
- user's calendar.</p>
+ <p>The <dfn id=attr-data-value title=attr-data-value><code>value</code></dfn>
+ attribute must be present. Its value must be a representation of the
+ element's contents in a machine-readable format.</p>
- <!-- it's also intended for restyling to local conventions
- (2000-12-31 vs 31-12-2000 vs 12-31-2000), but CSS doesn't support
- that yet. Once CSS does support that, we should update this to also
- support year and year-month cases, since in Japanese those need
- special styling also. See #2 in:
- http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-August/028025.html
- ...for details. -->
+ <p>The element can be used for several purposes.</p>
- <div class=note>
-
- <p>The <code><a href=#the-time-element>time</a></code> element is not intended for encoding times
- for which a precise date or time cannot be established. For
- example, it would be inappropriate for encoding times like "one
- millisecond after the big bang", "the early part of the Jurassic
- period", or "a winter around 250 BCE".</p>
-
- <p>For dates before the introduction of the Gregorian calendar,
- authors are encouraged to not use the <code><a href=#the-time-element>time</a></code> element, or
- else to be very careful about converting dates and times from the
- period to the Gregorian calendar. This is complicated by the manner
- in which the Gregorian calendar was phased in, which occurred at
- different times in different countries, ranging from partway
- through the 16th century all the way to early in the 20th.</p>
-
- </div>
-
- <p>The <dfn id=attr-time-pubdate title=attr-time-pubdate><code>pubdate</code></dfn>
- attribute is a <a href=#boolean-attribute>boolean attribute</a>. If specified, it
- indicates that the date and time given by the element is the
- publication date and time of the nearest ancestor
- <code><a href=#the-article-element>article</a></code> element, or, if the element has no ancestor
- <code><a href=#the-article-element>article</a></code> element, of the document as a whole. If the
- element has a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code>
- attribute specified, then the element <dfn id=needs-a-date>needs a date</dfn>. For
- each <code><a href=#the-article-element>article</a></code> element, there must be no more than one
- <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute whose nearest
- ancestor is that <code><a href=#the-article-element>article</a></code> element. Furthermore, for each
- <code><a href=#document>Document</a></code>, there must be no more than one
- <code><a href=#the-time-element>time</a></code> element with a <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> attribute that does not
- have an ancestor <code><a href=#the-article-element>article</a></code> element.</p>
-
- <p>The <dfn id=attr-time-datetime title=attr-time-datetime><code>datetime</code></dfn>
- attribute, if present, gives the date or time being
- specified. Otherwise, the date or time is given by the element's
- contents.</p>
+ <p>When combined with Microformats or the <a href=#microdata>microdata attributes</a> defined in this
+ specification, the element serves to provide both a machine-readable
+ value for the purposes of data procesors, and a human-readable value
+ for the purposes of rendering in a Web browser. In this case, the
+ format to be used in the <code title=attr-data-value><a href=#attr-data-value>value</a></code>
+ attribute is determined by the Microformat or microdata
+ vocabulary in use.</p>
- <p>If the element <i><a href=#needs-a-date>needs a date</a></i>, and the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is present,
- then the attribute's value must be a <a href=#valid-date-string-with-optional-time>valid date string with
- optional time</a>.</p>
-
- <p>If the element <i><a href=#needs-a-date>needs a date</a></i>, but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute is not present,
- then the element's <code><a href=#textcontent>textContent</a></code> must be a <a href=#valid-date-string-in-content-with-optional-time>valid
- date string in content with optional time</a>.</p>
-
- <p>If the element does not <i title="needs a date"><a href=#needs-a-date>need a date</a></i>,
- and the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute
- is present, then the attribute's value must be a <a href=#valid-date-or-time-string>valid date or
- time string</a>.</p>
-
- <p>If the element does not <i title="needs a date"><a href=#needs-a-date>need a date</a></i>,
- but the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute
- is not present, then the element's <code><a href=#textcontent>textContent</a></code> must be
- a <a href=#valid-date-or-time-string-in-content>valid date or time string in content</a>.</p>
-
- <p>The date, if any, must be expressed using the Gregorian
- calendar.</p>
+ <p>The element can also, however, be used in conjunction with
+ scripts in the page, for when a script has store a literal value
+ alongside a human-readable value. In such cases, the format to be
+ used depends only on the needs of the script. (The <code title=attr-data-*><a href=#attr-data-*>data-*</a></code> attributes can also be useful in
+ such situations.)</p>
<div class=impl>
- <p>If the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> attribute
- is present, the user agent should convey the attribute's value to
- the user when rendering the element.</p>
+ <p>The <dfn id=dom-data-value title=dom-data-value><code>value</code></dfn> IDL
+ attribute must <a href=#reflect>reflect</a> the content attribute of the
+ same name.</p>
</div>
<div class=example>
- <p>The <code><a href=#the-time-element>time</a></code> element can be used to encode dates, for
+ <p>The <code><a href=#the-data-element>data</a></code> element can be used to encode dates, for
example in Microformats. The following shows a hypothetical way of
encoding an event using a variant on hCalendar that uses the
- <code><a href=#the-time-element>time</a></code> element:</p>
+ <code><a href=#the-data-element>data</a></code> element:</p>
<pre>&lt;div class="vevent"&gt;
&lt;a class="url" href="http://www.web2con.com/"&gt;http://www.web2con.com/&lt;/a&gt;
&lt;span class="summary"&gt;Web 2.0 Conference&lt;/span&gt;:
- &lt;time class="dtstart" datetime="2007-10-05"&gt;October 5&lt;/time&gt; -
- &lt;time class="dtend" datetime="2007-10-20"&gt;19&lt;/time&gt;,
+ &lt;data class="dtstart" value="2007-10-05"&gt;October 5&lt;/data&gt; -
+ &lt;data class="dtend" value="2007-10-20"&gt;19&lt;/data&gt;,
at the &lt;span class="location"&gt;Argent Hotel, San Francisco, CA&lt;/span&gt;
&lt;/div&gt;</pre>
@@ -20579,161 +20536,52 @@ this specification: the &lt;abbr&gt;WHATWG&lt;/abbr&gt; and the
<div class=example>
- <p>The <code><a href=#the-time-element>time</a></code> element is not necessary for encoding
- dates or times. In the following snippet, the time is encoded using
- <code><a href=#the-time-element>time</a></code>, so that it can be restyled (e.g. using XBL2) to
- match local conventions, while the year is not marked up at all,
- since marking it up would not be particularly useful, and doing so
- is thus not allowed.</p>
-
- <pre>&lt;p&gt;I usually have a snack at &lt;time&gt;16:00&lt;/time&gt;.&lt;/p&gt;
-&lt;p&gt;I've liked model trains since at least 1983.&lt;/p&gt;</pre>
-
- <p>Using a styling technology that supports restyling times, the
- first paragraph from the above snippet could be rendered as follows:</p>
-
- <blockquote><p>I usually have a snack at 4pm.</blockquote>
-
- <p>Or it could be rendered as follows:</p>
-
- <blockquote><p>I usually have a snack at 16h00.</blockquote>
-
- </div>
-
- <div class=impl>
-
- <p>The <dfn id=dom-time-datetime title=dom-time-datetime><code>dateTime</code></dfn> IDL
- attribute must <a href=#reflect>reflect</a> the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code> content attribute.</p>
-
- <p>The <dfn id=dom-time-pubdate title=dom-time-pubDate><code>pubDate</code></dfn> IDL
- attribute must <a href=#reflect>reflect</a> the <code title=attr-time-pubdate><a href=#attr-time-pubdate>pubdate</a></code> content attribute.</p>
-
- <p>User agents, to obtain the <dfn id=concept-time-date title=concept-time-date>date</dfn>, <dfn id=concept-time-time title=concept-time-time>time</dfn>, and <dfn id=concept-time-timezone title=concept-time-timezone>time-zone offset</dfn> represented by
- a <code><a href=#the-time-element>time</a></code> element, must follow these steps:</p>
-
- <ol><li>If the <code title=attr-time-datetime><a href=#attr-time-datetime>datetime</a></code>
- attribute is present, then use the rules to <a href=#parse-a-date-or-time-string>parse a date or
- time string</a> with the flag <i>in attribute</i> from the value
- of that attribute, and let the result be <var title="">result</var>.</li>
-
- <li>Otherwise, use the rules to <a href=#parse-a-date-or-time-string>parse a date or time
- string</a> with the flag <i>in content</i> from the element's
- <code><a href=#textcontent>textContent</a></code>, and let the result be <var title="">result</var>.</li>
-
- <li>If <var title="">result</var> is empty (because the parsing
- failed), then the <a href=#concept-time-date title=concept-time-date>date</a> is
- unknown, the <a href=#concept-time-time title=concept-time-time>time</a> is
- unknown, and the <a href=#concept-time-timezone title=concept-time-timezone>time-zone
- offset</a> is unknown.</li>
-
- <li>Otherwise: if <var title="">result</var> contains a date, then
- that is the <a href=#concept-time-date title=concept-time-date>date</a>; if <var title="">result</var> contains a time, then that is the <a href=#concept-time-time title=concept-time-time>time</a>; and if <var title="">result</var> contains a time-zone offset, then the
- time-zone offset is the element's <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a>. (A time-zone
- offset can only be present if both a date and a time are also
- present.)</li>
-
- </ol></div>
-
- <dl class=domintro><dt><var title="">time</var> . <code title=dom-time-valueAsDate><a href=#dom-time-valueasdate>valueAsDate</a></code></dt>
-
- <dd>
-
- <p>Returns a <code>Date</code> object representing the specified date and time.</p>
-
- </dd>
-
- </dl><div class=impl>
-
- <p>The <dfn id=dom-time-valueasdate title=dom-time-valueAsDate><code>valueAsDate</code></dfn> IDL
- attribute must return either null or a new <code>Date</code> object
- initialized to the relevant value as defined by the following
- list:</p>
-
- <dl><dt>If the <a href=#concept-time-date title=concept-time-date>date</a> is known but
- the <a href=#concept-time-time title=concept-time-time>time</a> is not</dt>
-
- <dd>The time corresponding to midnight UTC (i.e. the first second)
- of the given <a href=#concept-time-date title=concept-time-date>date</a>.</dd>
-
- <dt>If the <a href=#concept-time-time title=concept-time-time>time</a> is known but
- the <a href=#concept-time-date title=concept-time-date>date</a> is not</dt>
-
- <dd>The time corresponding to the given <a href=#concept-time-time title=concept-time-time>time</a> of 1970-01-01, with the time
- zone UTC.</dd>
-
- <dt>If both the <a href=#concept-time-date title=concept-time-date>date</a> and the
- <a href=#concept-time-time title=concept-time-time>time</a> are known</dt>
-
- <dd>The time corresponding to the <a href=#concept-time-date title=concept-time-date>date</a> and <a href=#concept-time-time title=concept-time-time>time</a>, with the given <a href=#concept-time-timezone title=concept-time-timezone>time-zone offset</a>.</dd>
-
- <dt>If neither the <a href=#concept-time-date title=concept-time-date>date</a> nor
- the <a href=#concept-time-time title=concept-time-time>time</a> are known</dt>
-
- <dd>The null value.</dd>
+ <p>In this example, an article's publication date is marked up
+ using <code><a href=#the-data-element>data</a></code> and the schema.org microdata
+ vocabulary:</p>
- </dl><p>When a <code>Date</code> object is to be returned, a new one must
- be constructed.</p> <!-- yes, this means .valueAsDate !=
- .valueAsDate, but the object is mutable, so it'd be weird if we
- didn't do that -->
+ <pre>&lt;article itemscope itemtype="http://schema.org/BlogPosting"&gt;
+ &lt;h1 itemprop="headline"&gt;Small tasks&lt;/h1&gt;
+ &lt;footer&gt;Published &lt;data itemprop="datePublished" value="2009-08-30"&gt;yesterday&lt;/data&gt;.&lt;/footer&gt;
+ &lt;p itemprop="articleBody"&gt;I put a bike bell on his bike.&lt;/p&gt;
+&lt;/article&gt;</pre>
</div>
<div class=example>
- <p>In the following snippet:</p>
-
- <pre>&lt;p&gt;Our first date was &lt;time datetime="2006-09-23"&gt;a Saturday&lt;/time&gt;.&lt;/p&gt;</pre>
+ <p>In the following snippet, the <code><a href=#the-data-element>data</a></code> element is used
+ to encode a date in the ISO8601 format, for later processing by a
+ script:</p>
- <p>...the <code><a href=#the-time-element>time</a></code> element's <code title=dom-time-valueAsDate><a href=#dom-time-valueasdate>valueAsDate</a></code> attribute would
- have the value 1,158,969,600,000ms.</p>
+ <pre>&lt;p&gt;Our first date was &lt;data value="2006-09-23"&gt;a Saturday&lt;/data&gt;.&lt;/p&gt;</pre>
- </div>
-
- <!-- <pre>&lt;p>We stopped talking at &lt;time datetime="2006-09-24T05:00-07:00">5am the next morning&lt;/time>.&lt;/p></pre> -->
+ <p>In this second snippet, the value includes a time:</p>
- <div class=example>
+ <pre>&lt;p&gt;We stopped talking at &lt;data value="2006-09-24T05:00-07:00"&gt;5am the next morning&lt;/data&gt;.&lt;/p&gt;</pre>
- <p>In the following snippet:</p>
-
- <pre>&lt;p&gt;Many people get up at &lt;time&gt;08:00&lt;/time&gt;.&lt;/p&gt;</pre>
-
- <p>...the <code><a href=#the-time-element>time</a></code> element's <code title=dom-time-valueAsDate><a href=#dom-time-valueasdate>valueAsDate</a></code> attribute would
- have the value 28,800,000ms.</p>
+ <p>A script loaded by the page (and thus privy to the page's
+ internal convention of marking up dates and times using the
+ <code><a href=#the-data-element>data</a></code> element) could scan through the page and look at
+ all the <code><a href=#the-data-element>data</a></code> elements therein to create an index of
+ dates and times.</p>
</div>
<div class=example>
- <p>In this example, an article's publication date is marked up
- using <code><a href=#the-time-element>time</a></code>:</p>
-
- <pre>&lt;article&gt;
- &lt;h1&gt;Small tasks&lt;/h1&gt;
- &lt;footer&gt;Published &lt;time pubdate&gt;2009-08-30&lt;/time&gt;.&lt;/footer&gt;
- &lt;p&gt;I put a bike bell on his bike.&lt;/p&gt;
-&lt;/article&gt;</pre>
-
- <p>Here is another way that could be marked up. In this example,
- legacy user agents would say "today", while newer user agents would
- render the time in a locale-specific manner based on the value of
- the attribute.</p>
-
- <pre>&lt;article&gt;
- &lt;h1&gt;Small tasks&lt;/h1&gt;