[html5] r6783 - [acgiowt] (2) Drop <time> and replace it with <data>. Drop the Atom conversion s [...]
whatwg at whatwg.org
whatwg at whatwg.org
Fri Oct 28 22:38:58 PDT 2011
Author: ianh
Date: 2011-10-28 22:38:56 -0700 (Fri, 28 Oct 2011)
New Revision: 6783
Modified:
complete.html
index
source
Log:
[acgiowt] (2) Drop <time> and replace it with <data>. Drop the Atom conversion 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
Modified: complete.html
===================================================================
--- complete.html 2011-10-28 23:07:50 UTC (rev 6782)
+++ complete.html 2011-10-29 05:38:56 UTC (rev 6783)
@@ -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 — Last Updated 28 October 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — 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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
links are present, but only one of those places is considered a
navigation section.</p>
- <pre><body>
+ <pre><body itemscope itemtype="http://schema.org/Blog">
<header>
<h1>Wake up sheeple!</h1>
<p><a href="news.html">News</a> -
<a href="blog.html">Blog</a> -
<a href="forums.html">Forums</a></p>
- <p>Last Modified: <time>2009-04-01</time></p>
+ <p>Last Modified: <data itemprop="dateModified">2009-04-01</data></p>
<nav>
<h1>Navigation</h1>
<ul>
@@ -16983,22 +16981,25 @@
</nav>
</header>
<div>
- <article>
+ <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>My Day at the Beach</h1>
+ <h1 itemprop="headline">My Day at the Beach</h1>
</header>
- <div>
+ <div itemprop="articleBody">
<p>Today I went to the beach and had a lot of fun.</p>
<em>...more content...</em>
</div>
<footer>
- <p>Posted <time pubdate="" datetime="2009-10-10T14:36-08:00">Thursday</time>.</p>
+ <p>Posted <data itemprop="datePublished" value="2009-10-10">Thursday</data>.</p>
</footer>
</article>
<em>...more blog posts...</em>
</div>
<footer>
- <p>Copyright © 2006 The Example Company</p>
+ <p>Copyright ©
+ <span itemprop="copyrightYear">2010</span>
+ <span itemprop="copyrightHolder">The Example Company</span>
+ </p>
<p><a href="about.html">About</a> -
<a href="policy.html">Privacy Policy</a> -
<a href="contact.html">Contact Us</a></p>
@@ -17009,6 +17010,10 @@
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 @@
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><article>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>The Very First Rule of Life</h1>
- <p><time pubdate datetime="2009-10-09T14:28-08:00"></time></p>
- </header>
+ <h1 itemprop="headline">The Very First Rule of Life</h1>
+ <p><data itemprop="datePublished" value="2009-10-09">3 days ago</data></p>
+ <link itemprop="url" href="?comments=0">
+ </header>[
<p>If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.</p>
<p><em>...</em></p>
<footer>
- <a href="?comments=1">Show comments...</a>
+ <a itemprop="discussionUrl" href="?comments=1">Show comments...</a>
</footer>
</article></pre>
<p>Here is that same blog post, but showing some of the comments:</p>
- <pre><article>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>The Very First Rule of Life</h1>
- <p><time pubdate datetime="2009-10-09T14:28-08:00"></time></p>
+ <h1 itemprop="headline">The Very First Rule of Life</h1>
+ <p><data itemprop="datePublished" value="2009-10-09">3 days ago</data></p>
+ <link itemprop="url" href="?comments=0">
</header>
<p>If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.</p>
<p><em>...</em></p>
<section>
<h1>Comments</h1>
- <article>
+ <article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c1">
+ <link itemprop="url" href="#c1">
<footer>
- <p>Posted by: George Washington</p>
- <p><time pubdate datetime="2009-10-10T19:10-08:00"></time></p>
+ <p>Posted by: <span itemprop="creator" itemscope itemtype="http://schema.org/Person">
+ <span itemprop="name">George Washington</span>
+ </span></p>
+ <p><data itemprop="commentTime" value="2009-10-10">15 minutes ago</data></p>
</footer>
<p>Yeah! Especially when talking about your lobbyist friends!</p>
</article>
- <article>
+ <article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c2">
+ <link itemprop="url" href="#c2">
<footer>
- <p>Posted by: George Hammond</p>
- <p><time pubdate datetime="2009-10-10T19:15-08:00"></time></p>
+ <p>Posted by: <span itemprop="creator" itemscope itemtype="http://schema.org/Person">
+ <span itemprop="name">George Hammond</span>
+ </span></p>
+ <p><data itemprop="commentTime" value="2009-10-10">5 minutes ago</data></p>
</footer>
<p>Hey, you have the same first name as me.</p>
</article>
@@ -17646,7 +17659,7 @@
<P><A HREF="/fm/015.ogv">Download video</A>.</P>
</VIDEO>
<FOOTER> <!-- footer for article -->
- <P>Published <TIME PUBDATE DATETIME="2009-10-21T18:26-07:00"></TIME></P>
+ <P>Published <DATA VALUE="2009-10-21T18:26-07:00">on 2009/10/21 at 6:26pm</DATA></P>
</FOOTER>
</ARTICLE>
<ARTICLE>
@@ -17655,7 +17668,7 @@
<P>It is fun to see them pull some coal cars because they look so
dwarfed in comparison.</P>
<FOOTER> <!-- footer for article -->
- <P>Published <TIME PUBDATE DATETIME="2009-09-15T14:54-07:00"></TIME></P>
+ <P>Published <DATA VALUE="2009-09-15T14:54-07:00">on 2009/09/15 at 2:54pm</DATA></P>
</FOOTER>
</ARTICLE>
<FOOTER> <!-- site wide footer -->
@@ -20449,7 +20462,7 @@
- <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 @@
<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>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>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>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>
- <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>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>
-
<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><div class="vevent">
<a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
<span class="summary">Web 2.0 Conference</span>:
- <time class="dtstart" datetime="2007-10-05">October 5</time> -
- <time class="dtend" datetime="2007-10-20">19</time>,
+ <data class="dtstart" value="2007-10-05">October 5</data> -
+ <data class="dtend" value="2007-10-20">19</data>,
at the <span class="location">Argent Hotel, San Francisco, CA</span>
</div></pre>
@@ -20579,162 +20536,53 @@
<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>
+ <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>
- <pre><p>I usually have a snack at <time>16:00</time>.</p>
-<p>I've liked model trains since at least 1983.</p></pre>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
+ <h1 itemprop="headline">Small tasks</h1>
+ <footer>Published <data itemprop="datePublished" value="2009-08-30">yesterday</data>.</footer>
+ <p itemprop="articleBody">I put a bike bell on his bike.</p>
+</article></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>
-
- </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 -->
-
- </div>
-
<div class=example>
- <p>In the following snippet:</p>
+ <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>
- <pre><p>Our first date was <time datetime="2006-09-23">a Saturday</time>.</p></pre>
+ <pre><p>Our first date was <data value="2006-09-23">a Saturday</data>.</p></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 1,158,969,600,000ms.</p>
+ <p>In this second snippet, the value includes a time:</p>
- </div>
+ <pre><p>We stopped talking at <data value="2006-09-24T05:00-07:00">5am the next morning</data>.</p></pre>
- <!-- <pre><p>We stopped talking at <time datetime="2006-09-24T05:00-07:00">5am the next morning</time>.</p></pre> -->
+ <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 class=example>
-
- <p>In the following snippet:</p>
-
- <pre><p>Many people get up at <time>08:00</time>.</p></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>
-
</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>
+ <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><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate>2009-08-30</time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></pre>
+ <pre><table class="sortable"> <!-- class used by script to find tables to which to add sorting controls -->
+ <thead> <tr> <th> Game <th> Corporations <th> Map Size
+ <tbody>
+ <tr> <td> 1830 <td> <data value="8">Eight</data> <td> <data value="93">19+74 hexes (93 total)
+ <tr> <td> 1856 <td> <data value="11">Eleven</data> <td> <data value="99">12+87 hexes (99 total)
+ <tr> <td> 1870 <td> <data value="10">Ten</data> <td> <data value="149">4+145 hexes (149 total)
+</table></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><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate datetime="2009-08-30">today</time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></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>
-
- <pre><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate datetime="2009-08-30T07:13Z"></time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></pre>
-
</div>
@@ -21844,9 +21692,9 @@
<td>Abbreviations
<td><pre class=example>Organic food in Ireland is certified by the <strong><abbr title="Irish Organic Farmers and Growers Association">IOFGA</abbr></strong>.</pre>
- <tr><td><code><a href=#the-time-element>time</a></code>
- <td>Date and/or time
- <td><pre class=example>Published <strong><time>2009-10-21</time></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><data value="UPC:022014640201">North Coast Organic Apple Cider</data></strong></pre>
<tr><td><code><a href=#the-code-element>code</a></code>
<td>Computer code
@@ -24067,19 +23915,18 @@
out in September, and we have articles about getting food, and about
getting in boxes, it's going to be great!</p>
<footer>
- <p>Written by <a href="/users/cap">cap</a>.
- <time pubdate>2009-08-21T23:32Z</time></p>
+ <p>Written by <a href="/users/cap">cap</a>, 1 hour ago.
</footer>
<article>
- <footer> At <time pubdate>2009-08-21T23:35Z</time>, <a href="/users/ch">ch</a> writes: </footer>
+ <footer> Thirteen minutes ago, <a href="/users/ch">ch</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>did you get a cover picture yet?"></iframe>
</article>
<article>
- <footer> At <time pubdate>2009-08-21T23:44Z</time>, <a href="/users/cap">cap</a> writes: </footer>
+ <footer> Nine minutes ago, <a href="/users/cap">cap</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>Yeah, you can see it <a href="/gallery?mode=cover&amp;page=1">in my gallery</a>."></iframe>
</article>
<article>
- <footer> At <time pubdate>2009-08-21T23:58Z</time>, <a href="/users/ch">ch</a> writes: </footer>
+ <footer> Five minutes ago, <a href="/users/ch">ch</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>hey that's earl's table.
<p>you should get earl&amp;me on the next cover."></iframe>
</article></pre>
@@ -45465,6 +45312,32 @@
</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 @@
</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 @@
</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 @@
<strong> <article>
<header>
<h1>My toys</h1>
- <p>Published <time pubdate datetime="2010-08-04">August 4th</time></p>
+ <p>Published August 4th</p>
</header>
<p>I really like my chained book and my telephone. I'm not such a
fan of my big ball.</p>
@@ -56701,13 +56582,14 @@
<div class=example>
<p>The following extract shows how an IM conversation log could be
- marked up.</p>
+ marked up, using the <code><a href=#the-data-element>data</a></code> element to provide Unix
+ timestamps for each line.</p>
- <pre><p> <time>14:22</time> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
-<p> <time>14:23</time> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
-<p> <time>14:23</time> <b>egof</b> it's unarguably
-<p> <time>14:23</time> <i>* kaj blinks</i>
-<p> <time>14:24</time> <b>kaj</b> you are not helping your case</pre>
+ <pre><p> <data value="1319898155">14:22</data> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
+<p> <data value="1319898192">14:23</data> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
+<p> <data value="1319898200">14:23</data> <b>egof</b> it's unarguably
+<p> <data value="1319898228">14:23</data> <i>* kaj blinks</i>
+<p> <data value="1319898260">14:24</data> <b>kaj</b> you are not helping your case</pre>
<!-- with thanks to http://bash.org/?854262 -->
</div>
@@ -57447,16 +57329,18 @@
</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><div itemscope>
- I was born on <time itemprop="birthday" datetime="2009-05-10">May 10th 2009</time>.
+ I was born on <data itemprop="birthday" value="2009-05-10">May 10th 2009</data>.
</div></pre>
</div>
@@ -57664,7 +57548,7 @@
<dt>Author
<dd itemprop="author">Peter F. Hamilton
<dt>Publication date
- <dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time>
+ <dd><data itemprop="pubdate" value="1996-01-26">26 January 1996</data>
</dl></pre>
<p>The "<code title="">http://vocab.example.net/book</code>"
@@ -58270,9 +58154,10 @@
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 @@
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 @@
<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 @@
<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 @@
</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 @@
...
<h1 itemprop="summary">Bluesday Tuesday: Money Road</h1>
...
- <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th @ 7pm</time>
- (until <time itemprop="dtend" datetime="2009-05-05T21:00:00Z">9pm</time>)
+ <data itemprop="dtstart" value="2009-05-05T19:00:00Z">May 5th @ 7pm</data>
+ (until <data itemprop="dtend" value="2009-05-05T21:00:00Z">9pm</data>)
...
<a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
rel="bookmark" itemprop="url">Link to this page</a>
@@ -61062,8 +60941,8 @@
<pre><div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
<p>I'm going to
<strong itemprop="summary">Bluesday Tuesday: Money Road</strong>,
- <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th at 7pm</time>
- to <time itemprop="dtend" content="2009-05-05T21:00:00Z">9pm</time>,
+ <data itemprop="dtstart" value="2009-05-05T19:00:00Z">May 5th at 7pm</data>
+ to <data itemprop="dtend" value="2009-05-05T21:00:00Z">9pm</data>,
at <span itemprop="location">The RoadHouse</span>!</p>
<p><a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
itemprop="url">See this event on livebrum.co.uk</a>.</p>
@@ -61270,589 +61149,15 @@
<li><p>Return <var title="">result</var>.</li>
- </ol></div><!--data-component-->
+ </ol></div>
+ </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>–<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>–<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>–<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>–<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>–<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>–<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><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=""><meta name="author"
- content="..."></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>
-
<!--MD-->
- </div>
-
-
-
-
-
<h2 id=browsers><span class=secno>6 </span>Loading Web pages</h2>
<div class=impl>
@@ -95703,26 +95008,7 @@
</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>
<h3 id=frames-and-framesets><span class=secno>15.6 </span>Frames and framesets</h3>
@@ -98790,6 +98076,15 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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>
Modified: index
===================================================================
--- index 2011-10-28 23:07:50 UTC (rev 6782)
+++ index 2011-10-29 05:38:56 UTC (rev 6783)
@@ -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 — Last Updated 28 October 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — 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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
links are present, but only one of those places is considered a
navigation section.</p>
- <pre><body>
+ <pre><body itemscope itemtype="http://schema.org/Blog">
<header>
<h1>Wake up sheeple!</h1>
<p><a href="news.html">News</a> -
<a href="blog.html">Blog</a> -
<a href="forums.html">Forums</a></p>
- <p>Last Modified: <time>2009-04-01</time></p>
+ <p>Last Modified: <data itemprop="dateModified">2009-04-01</data></p>
<nav>
<h1>Navigation</h1>
<ul>
@@ -16983,22 +16981,25 @@
</nav>
</header>
<div>
- <article>
+ <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>My Day at the Beach</h1>
+ <h1 itemprop="headline">My Day at the Beach</h1>
</header>
- <div>
+ <div itemprop="articleBody">
<p>Today I went to the beach and had a lot of fun.</p>
<em>...more content...</em>
</div>
<footer>
- <p>Posted <time pubdate="" datetime="2009-10-10T14:36-08:00">Thursday</time>.</p>
+ <p>Posted <data itemprop="datePublished" value="2009-10-10">Thursday</data>.</p>
</footer>
</article>
<em>...more blog posts...</em>
</div>
<footer>
- <p>Copyright © 2006 The Example Company</p>
+ <p>Copyright ©
+ <span itemprop="copyrightYear">2010</span>
+ <span itemprop="copyrightHolder">The Example Company</span>
+ </p>
<p><a href="about.html">About</a> -
<a href="policy.html">Privacy Policy</a> -
<a href="contact.html">Contact Us</a></p>
@@ -17009,6 +17010,10 @@
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 @@
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><article>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>The Very First Rule of Life</h1>
- <p><time pubdate datetime="2009-10-09T14:28-08:00"></time></p>
- </header>
+ <h1 itemprop="headline">The Very First Rule of Life</h1>
+ <p><data itemprop="datePublished" value="2009-10-09">3 days ago</data></p>
+ <link itemprop="url" href="?comments=0">
+ </header>[
<p>If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.</p>
<p><em>...</em></p>
<footer>
- <a href="?comments=1">Show comments...</a>
+ <a itemprop="discussionUrl" href="?comments=1">Show comments...</a>
</footer>
</article></pre>
<p>Here is that same blog post, but showing some of the comments:</p>
- <pre><article>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>The Very First Rule of Life</h1>
- <p><time pubdate datetime="2009-10-09T14:28-08:00"></time></p>
+ <h1 itemprop="headline">The Very First Rule of Life</h1>
+ <p><data itemprop="datePublished" value="2009-10-09">3 days ago</data></p>
+ <link itemprop="url" href="?comments=0">
</header>
<p>If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.</p>
<p><em>...</em></p>
<section>
<h1>Comments</h1>
- <article>
+ <article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c1">
+ <link itemprop="url" href="#c1">
<footer>
- <p>Posted by: George Washington</p>
- <p><time pubdate datetime="2009-10-10T19:10-08:00"></time></p>
+ <p>Posted by: <span itemprop="creator" itemscope itemtype="http://schema.org/Person">
+ <span itemprop="name">George Washington</span>
+ </span></p>
+ <p><data itemprop="commentTime" value="2009-10-10">15 minutes ago</data></p>
</footer>
<p>Yeah! Especially when talking about your lobbyist friends!</p>
</article>
- <article>
+ <article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c2">
+ <link itemprop="url" href="#c2">
<footer>
- <p>Posted by: George Hammond</p>
- <p><time pubdate datetime="2009-10-10T19:15-08:00"></time></p>
+ <p>Posted by: <span itemprop="creator" itemscope itemtype="http://schema.org/Person">
+ <span itemprop="name">George Hammond</span>
+ </span></p>
+ <p><data itemprop="commentTime" value="2009-10-10">5 minutes ago</data></p>
</footer>
<p>Hey, you have the same first name as me.</p>
</article>
@@ -17646,7 +17659,7 @@
<P><A HREF="/fm/015.ogv">Download video</A>.</P>
</VIDEO>
<FOOTER> <!-- footer for article -->
- <P>Published <TIME PUBDATE DATETIME="2009-10-21T18:26-07:00"></TIME></P>
+ <P>Published <DATA VALUE="2009-10-21T18:26-07:00">on 2009/10/21 at 6:26pm</DATA></P>
</FOOTER>
</ARTICLE>
<ARTICLE>
@@ -17655,7 +17668,7 @@
<P>It is fun to see them pull some coal cars because they look so
dwarfed in comparison.</P>
<FOOTER> <!-- footer for article -->
- <P>Published <TIME PUBDATE DATETIME="2009-09-15T14:54-07:00"></TIME></P>
+ <P>Published <DATA VALUE="2009-09-15T14:54-07:00">on 2009/09/15 at 2:54pm</DATA></P>
</FOOTER>
</ARTICLE>
<FOOTER> <!-- site wide footer -->
@@ -20449,7 +20462,7 @@
- <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 @@
<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>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>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>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>
- <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>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>
-
<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><div class="vevent">
<a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
<span class="summary">Web 2.0 Conference</span>:
- <time class="dtstart" datetime="2007-10-05">October 5</time> -
- <time class="dtend" datetime="2007-10-20">19</time>,
+ <data class="dtstart" value="2007-10-05">October 5</data> -
+ <data class="dtend" value="2007-10-20">19</data>,
at the <span class="location">Argent Hotel, San Francisco, CA</span>
</div></pre>
@@ -20579,162 +20536,53 @@
<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>
+ <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>
- <pre><p>I usually have a snack at <time>16:00</time>.</p>
-<p>I've liked model trains since at least 1983.</p></pre>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
+ <h1 itemprop="headline">Small tasks</h1>
+ <footer>Published <data itemprop="datePublished" value="2009-08-30">yesterday</data>.</footer>
+ <p itemprop="articleBody">I put a bike bell on his bike.</p>
+</article></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>
-
- </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 -->
-
- </div>
-
<div class=example>
- <p>In the following snippet:</p>
+ <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>
- <pre><p>Our first date was <time datetime="2006-09-23">a Saturday</time>.</p></pre>
+ <pre><p>Our first date was <data value="2006-09-23">a Saturday</data>.</p></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 1,158,969,600,000ms.</p>
+ <p>In this second snippet, the value includes a time:</p>
- </div>
+ <pre><p>We stopped talking at <data value="2006-09-24T05:00-07:00">5am the next morning</data>.</p></pre>
- <!-- <pre><p>We stopped talking at <time datetime="2006-09-24T05:00-07:00">5am the next morning</time>.</p></pre> -->
+ <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 class=example>
-
- <p>In the following snippet:</p>
-
- <pre><p>Many people get up at <time>08:00</time>.</p></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>
-
</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>
+ <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><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate>2009-08-30</time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></pre>
+ <pre><table class="sortable"> <!-- class used by script to find tables to which to add sorting controls -->
+ <thead> <tr> <th> Game <th> Corporations <th> Map Size
+ <tbody>
+ <tr> <td> 1830 <td> <data value="8">Eight</data> <td> <data value="93">19+74 hexes (93 total)
+ <tr> <td> 1856 <td> <data value="11">Eleven</data> <td> <data value="99">12+87 hexes (99 total)
+ <tr> <td> 1870 <td> <data value="10">Ten</data> <td> <data value="149">4+145 hexes (149 total)
+</table></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><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate datetime="2009-08-30">today</time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></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>
-
- <pre><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate datetime="2009-08-30T07:13Z"></time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></pre>
-
</div>
@@ -21844,9 +21692,9 @@
<td>Abbreviations
<td><pre class=example>Organic food in Ireland is certified by the <strong><abbr title="Irish Organic Farmers and Growers Association">IOFGA</abbr></strong>.</pre>
- <tr><td><code><a href=#the-time-element>time</a></code>
- <td>Date and/or time
- <td><pre class=example>Published <strong><time>2009-10-21</time></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><data value="UPC:022014640201">North Coast Organic Apple Cider</data></strong></pre>
<tr><td><code><a href=#the-code-element>code</a></code>
<td>Computer code
@@ -24067,19 +23915,18 @@
out in September, and we have articles about getting food, and about
getting in boxes, it's going to be great!</p>
<footer>
- <p>Written by <a href="/users/cap">cap</a>.
- <time pubdate>2009-08-21T23:32Z</time></p>
+ <p>Written by <a href="/users/cap">cap</a>, 1 hour ago.
</footer>
<article>
- <footer> At <time pubdate>2009-08-21T23:35Z</time>, <a href="/users/ch">ch</a> writes: </footer>
+ <footer> Thirteen minutes ago, <a href="/users/ch">ch</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>did you get a cover picture yet?"></iframe>
</article>
<article>
- <footer> At <time pubdate>2009-08-21T23:44Z</time>, <a href="/users/cap">cap</a> writes: </footer>
+ <footer> Nine minutes ago, <a href="/users/cap">cap</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>Yeah, you can see it <a href="/gallery?mode=cover&amp;page=1">in my gallery</a>."></iframe>
</article>
<article>
- <footer> At <time pubdate>2009-08-21T23:58Z</time>, <a href="/users/ch">ch</a> writes: </footer>
+ <footer> Five minutes ago, <a href="/users/ch">ch</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>hey that's earl's table.
<p>you should get earl&amp;me on the next cover."></iframe>
</article></pre>
@@ -45465,6 +45312,32 @@
</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 @@
</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 @@
</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 @@
<strong> <article>
<header>
<h1>My toys</h1>
- <p>Published <time pubdate datetime="2010-08-04">August 4th</time></p>
+ <p>Published August 4th</p>
</header>
<p>I really like my chained book and my telephone. I'm not such a
fan of my big ball.</p>
@@ -56701,13 +56582,14 @@
<div class=example>
<p>The following extract shows how an IM conversation log could be
- marked up.</p>
+ marked up, using the <code><a href=#the-data-element>data</a></code> element to provide Unix
+ timestamps for each line.</p>
- <pre><p> <time>14:22</time> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
-<p> <time>14:23</time> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
-<p> <time>14:23</time> <b>egof</b> it's unarguably
-<p> <time>14:23</time> <i>* kaj blinks</i>
-<p> <time>14:24</time> <b>kaj</b> you are not helping your case</pre>
+ <pre><p> <data value="1319898155">14:22</data> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
+<p> <data value="1319898192">14:23</data> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
+<p> <data value="1319898200">14:23</data> <b>egof</b> it's unarguably
+<p> <data value="1319898228">14:23</data> <i>* kaj blinks</i>
+<p> <data value="1319898260">14:24</data> <b>kaj</b> you are not helping your case</pre>
<!-- with thanks to http://bash.org/?854262 -->
</div>
@@ -57447,16 +57329,18 @@
</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><div itemscope>
- I was born on <time itemprop="birthday" datetime="2009-05-10">May 10th 2009</time>.
+ I was born on <data itemprop="birthday" value="2009-05-10">May 10th 2009</data>.
</div></pre>
</div>
@@ -57664,7 +57548,7 @@
<dt>Author
<dd itemprop="author">Peter F. Hamilton
<dt>Publication date
- <dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time>
+ <dd><data itemprop="pubdate" value="1996-01-26">26 January 1996</data>
</dl></pre>
<p>The "<code title="">http://vocab.example.net/book</code>"
@@ -58270,9 +58154,10 @@
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 @@
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 @@
<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 @@
<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 @@
</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 @@
...
<h1 itemprop="summary">Bluesday Tuesday: Money Road</h1>
...
- <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th @ 7pm</time>
- (until <time itemprop="dtend" datetime="2009-05-05T21:00:00Z">9pm</time>)
+ <data itemprop="dtstart" value="2009-05-05T19:00:00Z">May 5th @ 7pm</data>
+ (until <data itemprop="dtend" value="2009-05-05T21:00:00Z">9pm</data>)
...
<a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
rel="bookmark" itemprop="url">Link to this page</a>
@@ -61062,8 +60941,8 @@
<pre><div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
<p>I'm going to
<strong itemprop="summary">Bluesday Tuesday: Money Road</strong>,
- <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th at 7pm</time>
- to <time itemprop="dtend" content="2009-05-05T21:00:00Z">9pm</time>,
+ <data itemprop="dtstart" value="2009-05-05T19:00:00Z">May 5th at 7pm</data>
+ to <data itemprop="dtend" value="2009-05-05T21:00:00Z">9pm</data>,
at <span itemprop="location">The RoadHouse</span>!</p>
<p><a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
itemprop="url">See this event on livebrum.co.uk</a>.</p>
@@ -61270,589 +61149,15 @@
<li><p>Return <var title="">result</var>.</li>
- </ol></div><!--data-component-->
+ </ol></div>
+ </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>–<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>–<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>–<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>–<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>–<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>–<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><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=""><meta name="author"
- content="..."></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>
-
<!--MD-->
- </div>
-
-
-
-
-
<h2 id=browsers><span class=secno>6 </span>Loading Web pages</h2>
<div class=impl>
@@ -95703,26 +95008,7 @@
</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>
<h3 id=frames-and-framesets><span class=secno>15.6 </span>Frames and framesets</h3>
@@ -98790,6 +98076,15 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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 @@
<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>
Modified: source
===================================================================
--- source 2011-10-28 23:07:50 UTC (rev 6782)
+++ source 2011-10-29 05:38:56 UTC (rev 6783)
@@ -11864,6 +11864,7 @@
<li><code>cite</code></li>
<li><code>code</code></li>
<li><code>command</code></li>
+ <li><code>data</code></li>
<li><code>datalist</code></li>
<li><code>del</code></li>
<li><code>details</code></li>
@@ -11928,7 +11929,6 @@
<li><code>svg</code></li>
<li><code>table</code></li>
<li><code>textarea</code></li>
- <li><code>time</code></li>
<li><code>u</code></li>
<li><code>ul</code></li>
<li><code>var</code></li>
@@ -12002,6 +12002,7 @@
<li><code>cite</code></li>
<li><code>code</code></li>
<li><code>command</code></li>
+ <li><code>data</code></li>
<li><code>datalist</code></li>
<li><code>del</code> (if it contains only <span>phrasing content</span>)</li>
<li><code>dfn</code></li>
@@ -12042,7 +12043,6 @@
<li><code>sup</code></li>
<li><code>svg</code></li>
<li><code>textarea</code></li>
- <li><code>time</code></li>
<li><code>u</code></li>
<li><code>var</code></li>
<li><code>video</code></li>
@@ -12283,6 +12283,7 @@
<li><code>canvas</code></li>
<li><code>cite</code></li>
<li><code>code</code></li>
+ <li><code>data</code></li>
<li><code>details</code></li>
<li><code>dfn</code></li>
<li><code>div</code></li>
@@ -12335,7 +12336,6 @@
<li><code>svg</code></li>
<li><code>table</code></li>
<li><code>textarea</code></li>
- <li><code>time</code></li>
<li><code>u</code></li>
<li><code>ul</code> (if the element's children include at least one <code>li</code> element)</li>
<li><code>var</code></li>
@@ -18082,13 +18082,13 @@
links are present, but only one of those places is considered a
navigation section.</p>
- <pre><body>
+ <pre><body itemscope itemtype="http://schema.org/Blog">
<header>
<h1>Wake up sheeple!</h1>
<p><a href="news.html">News</a> -
<a href="blog.html">Blog</a> -
<a href="forums.html">Forums</a></p>
- <p>Last Modified: <time>2009-04-01</time></p>
+ <p>Last Modified: <data itemprop="dateModified">2009-04-01</data></p>
<nav>
<h1>Navigation</h1>
<ul>
@@ -18099,22 +18099,25 @@
</nav>
</header>
<div>
- <article>
+ <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>My Day at the Beach</h1>
+ <h1 itemprop="headline">My Day at the Beach</h1>
</header>
- <div>
+ <div itemprop="articleBody">
<p>Today I went to the beach and had a lot of fun.</p>
<em>...more content...</em>
</div>
<footer>
- <p>Posted <time pubdate="" datetime="2009-10-10T14:36-08:00">Thursday</time>.</p>
+ <p>Posted <data itemprop="datePublished" value="2009-10-10">Thursday</data>.</p>
</footer>
</article>
<em>...more blog posts...</em>
</div>
<footer>
- <p>Copyright © 2006 The Example Company</p>
+ <p>Copyright ©
+ <span itemprop="copyrightYear">2010</span>
+ <span itemprop="copyrightHolder">The Example Company</span>
+ </p>
<p><a href="about.html">About</a> -
<a href="policy.html">Privacy Policy</a> -
<a href="contact.html">Contact Us</a></p>
@@ -18125,6 +18128,10 @@
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">
@@ -18244,52 +18251,59 @@
similar in purpose to the <code title="">entry</code> element in
Atom. <a href="#refsATOM">[ATOM]</a>
- <p class="note">The <code>time</code> element's <code
- title="attr-time-pubdate">pubdate</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>article</code>
- element.</p>
+ element, using one of the CreativeWork subtypes.</p>
<div id="article-example" class="example">
<p>This example shows a blog post using the <code>article</code>
- element:</p>
+ element, with some schema.org annotations:</p>
- <pre><article>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>The Very First Rule of Life</h1>
- <p><time pubdate datetime="2009-10-09T14:28-08:00"></time></p>
- </header>
+ <h1 itemprop="headline">The Very First Rule of Life</h1>
+ <p><data itemprop="datePublished" value="2009-10-09">3 days ago</data></p>
+ <link itemprop="url" href="?comments=0">
+ </header>[
<p>If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.</p>
<p><em>...</em></p>
<footer>
- <a href="?comments=1">Show comments...</a>
+ <a itemprop="discussionUrl" href="?comments=1">Show comments...</a>
</footer>
</article></pre>
<p>Here is that same blog post, but showing some of the comments:</p>
- <pre><article>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
<header>
- <h1>The Very First Rule of Life</h1>
- <p><time pubdate datetime="2009-10-09T14:28-08:00"></time></p>
+ <h1 itemprop="headline">The Very First Rule of Life</h1>
+ <p><data itemprop="datePublished" value="2009-10-09">3 days ago</data></p>
+ <link itemprop="url" href="?comments=0">
</header>
<p>If there's a microphone anywhere near you, assume it's hot and
sending whatever you're saying to the world. Seriously.</p>
<p><em>...</em></p>
<section>
<h1>Comments</h1>
- <article>
+ <article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c1">
+ <link itemprop="url" href="#c1">
<footer>
- <p>Posted by: George Washington</p>
- <p><time pubdate datetime="2009-10-10T19:10-08:00"></time></p>
+ <p>Posted by: <span itemprop="creator" itemscope itemtype="http://schema.org/Person">
+ <span itemprop="name">George Washington</span>
+ </span></p>
+ <p><data itemprop="commentTime" value="2009-10-10">15 minutes ago</data></p>
</footer>
<p>Yeah! Especially when talking about your lobbyist friends!</p>
</article>
- <article>
+ <article itemprop="comment" itemscope itemtype="http://schema.org/UserComments" id="c2">
+ <link itemprop="url" href="#c2">
<footer>
- <p>Posted by: George Hammond</p>
- <p><time pubdate datetime="2009-10-10T19:15-08:00"></time></p>
+ <p>Posted by: <span itemprop="creator" itemscope itemtype="http://schema.org/Person">
+ <span itemprop="name">George Hammond</span>
+ </span></p>
+ <p><data itemprop="commentTime" value="2009-10-10">5 minutes ago</data></p>
</footer>
<p>Hey, you have the same first name as me.</p>
</article>
@@ -18786,7 +18800,7 @@
<P><A HREF="/fm/015.ogv">Download video</A>.</P>
</VIDEO>
<FOOTER> <!-- footer for article -->
- <P>Published <TIME PUBDATE DATETIME="2009-10-21T18:26-07:00"></TIME></P>
+ <P>Published <DATA VALUE="2009-10-21T18:26-07:00">on 2009/10/21 at 6:26pm</DATA></P>
</FOOTER>
</ARTICLE>
<ARTICLE>
@@ -18795,7 +18809,7 @@
<P>It is fun to see them pull some coal cars because they look so
dwarfed in comparison.</P>
<FOOTER> <!-- footer for article -->
- <P>Published <TIME PUBDATE DATETIME="2009-09-15T14:54-07:00"></TIME></P>
+ <P>Published <DATA VALUE="2009-09-15T14:54-07:00">on 2009/09/15 at 2:54pm</DATA></P>
</FOOTER>
</ARTICLE>
<FOOTER> <!-- site wide footer -->
@@ -21818,7 +21832,7 @@
- <h4>The <dfn><code>time</code></dfn> element</h4>
+ <h4>The <dfn><code>data</code></dfn> element</h4>
<dl class="element">
<dt>Categories</dt>
@@ -21828,122 +21842,64 @@
<dt>Contexts in which this element can be used:</dt>
<dd>Where <span>phrasing content</span> is expected.</dd>
<dt>Content model:</dt>
- <dd><span>Phrasing content</span>, but there must be no <code>time</code> element descendants.</dd>
+ <dd><span>Phrasing content</span>.</dd>
<dt>Content attributes:</dt>
<dd><span>Global attributes</span></dd>
- <dd><code title="attr-time-datetime">datetime</code></dd>
- <dd><code title="attr-time-pubdate">pubdate</code></dd>
+ <dd><code title="attr-data-value">value</code></dd>
<dt>DOM interface:</dt>
<dd>
-<pre class="idl">interface <dfn>HTMLTimeElement</dfn> : <span>HTMLElement</span> {
- attribute DOMString <span title="dom-time-datetime">dateTime</span>;
- attribute boolean <span title="dom-time-pubDate">pubDate</span>;
- readonly attribute <span>Date</span>? <span title="dom-time-valueAsDate">valueAsDate</span>;
+<pre class="idl">interface <dfn>HTMLDataElement</dfn> : <span>HTMLElement</span> {
+ attribute DOMString <span title="dom-data-value">value</span>;
};</pre>
</dd>
</dl>
- <p>The <code>time</code> element <span>represents</span> 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>
+ <p>The <code>data</code> element <span>represents</span> its
+ contents, along with a machine-readable form of those contents in
+ the <code title="attr-data-value">value</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 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>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">value</code>
+ attribute is determined by the Microformat or microdata
+ vocabulary in use.</p>
- <p>The <code>time</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>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-*">data-*</code> attributes can also be useful in
+ such situations.)</p>
- <p>For dates before the introduction of the Gregorian calendar,
- authors are encouraged to not use the <code>time</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 title="attr-time-pubdate"><code>pubdate</code></dfn>
- attribute is a <span>boolean attribute</span>. If specified, it
- indicates that the date and time given by the element is the
- publication date and time of the nearest ancestor
- <code>article</code> element, or, if the element has no ancestor
- <code>article</code> element, of the document as a whole. If the
- element has a <code title="attr-time-pubdate">pubdate</code>
- attribute specified, then the element <dfn>needs a date</dfn>. For
- each <code>article</code> element, there must be no more than one
- <code>time</code> element with a <code
- title="attr-time-pubdate">pubdate</code> attribute whose nearest
- ancestor is that <code>article</code> element. Furthermore, for each
- <code>Document</code>, there must be no more than one
- <code>time</code> element with a <code
- title="attr-time-pubdate">pubdate</code> attribute that does not
- have an ancestor <code>article</code> element.</p>
-
- <p>The <dfn 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>If the element <i>needs a date</i>, and the <code
- title="attr-time-datetime">datetime</code> attribute is present,
- then the attribute's value must be a <span>valid date string with
- optional time</span>.</p>
-
- <p>If the element <i>needs a date</i>, but the <code
- title="attr-time-datetime">datetime</code> attribute is not present,
- then the element's <code>textContent</code> must be a <span>valid
- date string in content with optional time</span>.</p>
-
- <p>If the element does not <i title="needs a date">need a date</i>,
- and the <code title="attr-time-datetime">datetime</code> attribute
- is present, then the attribute's value must be a <span>valid date or
- time string</span>.</p>
-
- <p>If the element does not <i title="needs a date">need a date</i>,
- but the <code title="attr-time-datetime">datetime</code> attribute
- is not present, then the element's <code>textContent</code> must be
- a <span>valid date or time string in content</span>.</p>
-
- <p>The date, if any, must be expressed using the Gregorian
- calendar.</p>
-
<div class="impl">
- <p>If the <code title="attr-time-datetime">datetime</code> attribute
- is present, the user agent should convey the attribute's value to
- the user when rendering the element.</p>
+ <p>The <dfn title="dom-data-value"><code>value</code></dfn> IDL
+ attribute must <span>reflect</span> the content attribute of the
+ same name.</p>
</div>
<div class="example">
- <p>The <code>time</code> element can be used to encode dates, for
+ <p>The <code>data</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>time</code> element:</p>
+ <code>data</code> element:</p>
<pre><div class="vevent">
<a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a>
<span class="summary">Web 2.0 Conference</span>:
- <time class="dtstart" datetime="2007-10-05">October 5</time> -
- <time class="dtend" datetime="2007-10-20">19</time>,
+ <data class="dtstart" value="2007-10-05">October 5</data> -
+ <data class="dtend" value="2007-10-20">19</data>,
at the <span class="location">Argent Hotel, San Francisco, CA</span>
</div></pre>
@@ -21955,192 +21911,53 @@
<div class="example">
- <p>The <code>time</code> element is not necessary for encoding
- dates or times. In the following snippet, the time is encoded using
- <code>time</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>
+ <p>In this example, an article's publication date is marked up
+ using <code>data</code> and the schema.org microdata
+ vocabulary:</p>
- <pre><p>I usually have a snack at <time>16:00</time>.</p>
-<p>I've liked model trains since at least 1983.</p></pre>
+ <pre><article itemscope itemtype="http://schema.org/BlogPosting">
+ <h1 itemprop="headline">Small tasks</h1>
+ <footer>Published <data itemprop="datePublished" value="2009-08-30">yesterday</data>.</footer>
+ <p itemprop="articleBody">I put a bike bell on his bike.</p>
+</article></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.</p></blockquote>
-
- <p>Or it could be rendered as follows:</p>
-
- <blockquote><p>I usually have a snack at 16h00.</p></blockquote>
-
</div>
- <div class="impl">
-
- <p>The <dfn title="dom-time-datetime"><code>dateTime</code></dfn> IDL
- attribute must <span>reflect</span> the <code
- title="attr-time-datetime">datetime</code> content attribute.</p>
-
- <p>The <dfn title="dom-time-pubDate"><code>pubDate</code></dfn> IDL
- attribute must <span>reflect</span> the <code
- title="attr-time-pubdate">pubdate</code> content attribute.</p>
-
- <p>User agents, to obtain the <dfn
- title="concept-time-date">date</dfn>, <dfn
- title="concept-time-time">time</dfn>, and <dfn
- title="concept-time-timezone">time-zone offset</dfn> represented by
- a <code>time</code> element, must follow these steps:</p>
-
- <ol>
-
- <li>If the <code title="attr-time-datetime">datetime</code>
- attribute is present, then use the rules to <span>parse a date or
- time string</span> 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 <span>parse a date or time
- string</span> with the flag <i>in content</i> from the element's
- <code>textContent</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 <span title="concept-time-date">date</span> is
- unknown, the <span title="concept-time-time">time</span> is
- unknown, and the <span title="concept-time-timezone">time-zone
- offset</span> is unknown.</li>
-
- <li>Otherwise: if <var title="">result</var> contains a date, then
- that is the <span title="concept-time-date">date</span>; if <var
- title="">result</var> contains a time, then that is the <span
- title="concept-time-time">time</span>; and if <var
- title="">result</var> contains a time-zone offset, then the
- time-zone offset is the element's <span
- title="concept-time-timezone">time-zone offset</span>. (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">valueAsDate</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
- 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 <span title="concept-time-date">date</span> is known but
- the <span title="concept-time-time">time</span> is not</dt>
-
- <dd>The time corresponding to midnight UTC (i.e. the first second)
- of the given <span title="concept-time-date">date</span>.</dd>
-
- <dt>If the <span title="concept-time-time">time</span> is known but
- the <span title="concept-time-date">date</span> is not</dt>
-
- <dd>The time corresponding to the given <span
- title="concept-time-time">time</span> of 1970-01-01, with the time
- zone UTC.</dd>
-
- <dt>If both the <span title="concept-time-date">date</span> and the
- <span title="concept-time-time">time</span> are known</dt>
-
- <dd>The time corresponding to the <span
- title="concept-time-date">date</span> and <span
- title="concept-time-time">time</span>, with the given <span
- title="concept-time-timezone">time-zone offset</span>.</dd>
-
- <dt>If neither the <span title="concept-time-date">date</span> nor
- the <span title="concept-time-time">time</span> are known</dt>
-
- <dd>The null value.</dd>
-
- </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 -->
-
- </div>
-
<div class="example">
- <p>In the following snippet:</p>
+ <p>In the following snippet, the <code>data</code> element is used
+ to encode a date in the ISO8601 format, for later processing by a
+ script:</p>
- <pre><p>Our first date was <time datetime="2006-09-23">a Saturday</time>.</p></pre>
+ <pre><p>Our first date was <data value="2006-09-23">a Saturday</data>.</p></pre>
- <p>...the <code>time</code> element's <code
- title="dom-time-valueAsDate">valueAsDate</code> attribute would
- have the value 1,158,969,600,000ms.</p>
+ <p>In this second snippet, the value includes a time:</p>
- </div>
+ <pre><p>We stopped talking at <data value="2006-09-24T05:00-07:00">5am the next morning</data>.</p></pre>
- <!-- <pre><p>We stopped talking at <time datetime="2006-09-24T05:00-07:00">5am the next morning</time>.</p></pre> -->
+ <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>data</code> element) could scan through the page and look at
+ all the <code>data</code> elements therein to create an index of
+ dates and times.</p>
- <div class="example">
-
- <p>In the following snippet:</p>
-
- <pre><p>Many people get up at <time>08:00</time>.</p></pre>
-
- <p>...the <code>time</code> element's <code
- title="dom-time-valueAsDate">valueAsDate</code> attribute would
- have the value 28,800,000ms.</p>
-
</div>
<div class="example">
- <p>In this example, an article's publication date is marked up
- using <code>time</code>:</p>
+ <p>Here, a short table has its numeric values encoded using
+ <code>data</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><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate>2009-08-30</time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></pre>
+ <pre><table class="sortable"> <!-- class used by script to find tables to which to add sorting controls -->
+ <thead> <tr> <th> Game <th> Corporations <th> Map Size
+ <tbody>
+ <tr> <td> 1830 <td> <data value="8">Eight</data> <td> <data value="93">19+74 hexes (93 total)
+ <tr> <td> 1856 <td> <data value="11">Eleven</data> <td> <data value="99">12+87 hexes (99 total)
+ <tr> <td> 1870 <td> <data value="10">Ten</data> <td> <data value="149">4+145 hexes (149 total)
+</table></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><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate datetime="2009-08-30">today</time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></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>
-
- <pre><article>
- <h1>Small tasks</h1>
- <footer>Published <time pubdate datetime="2009-08-30T07:13Z"></time>.</footer>
- <p>I put a bike bell on his bike.</p>
-</article></pre>
-
</div>
@@ -23329,9 +23146,9 @@
<td><pre class="example">Organic food in Ireland is certified by the <strong><abbr title="Irish Organic Farmers and Growers Association">IOFGA</abbr></strong>.</pre>
<tr>
- <td><code>time</code>
- <td>Date and/or time
- <td><pre class="example">Published <strong><time>2009-10-21</time></strong>.</pre>
+ <td><code>data</code>
+ <td>Machine-readable equivalent
+ <td><pre class="example">Available starting today! <strong><data value="UPC:022014640201">North Coast Organic Apple Cider</data></strong></pre>
<tr>
<td><code>code</code>
@@ -25766,19 +25583,18 @@
out in September, and we have articles about getting food, and about
getting in boxes, it's going to be great!</p>
<footer>
- <p>Written by <a href="/users/cap">cap</a>.
- <time pubdate>2009-08-21T23:32Z</time></p>
+ <p>Written by <a href="/users/cap">cap</a>, 1 hour ago.
</footer>
<article>
- <footer> At <time pubdate>2009-08-21T23:35Z</time>, <a href="/users/ch">ch</a> writes: </footer>
+ <footer> Thirteen minutes ago, <a href="/users/ch">ch</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>did you get a cover picture yet?"></iframe>
</article>
<article>
- <footer> At <time pubdate>2009-08-21T23:44Z</time>, <a href="/users/cap">cap</a> writes: </footer>
+ <footer> Nine minutes ago, <a href="/users/cap">cap</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>Yeah, you can see it <a href="/gallery?mode=cover&amp;page=1">in my gallery</a>."></iframe>
</article>
<article>
- <footer> At <time pubdate>2009-08-21T23:58Z</time>, <a href="/users/ch">ch</a> writes: </footer>
+ <footer> Five minutes ago, <a href="/users/ch">ch</a> wrote: </footer>
<iframe seamless sandbox srcdoc="<p>hey that's earl's table.
<p>you should get earl&amp;me on the next cover."></iframe>
</article></pre>
@@ -50780,6 +50596,34 @@
</div>
+ <div class="note" id="only-contemporary-times">
+
+ <p>The <span title="attr-input-type-datetime">Date and Time</span>
+ 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 <span
+ title="attr-input-type-datetime">Date and Time</span> 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>select</code>
+ element and <code>input</code> elements with the <span
+ title="attr-input-type-number">Number</span> state.</p>
+
+ </div>
+
<div class="bookkeeping">
<p>The following common <code>input</code> element content
@@ -50976,6 +50820,11 @@
</div>
+ <p class="note">See <a href="#only-contemporary-times">the note on
+ historical dates</a> in the <span
+ title="attr-input-type-datetime">Date and Time</span> state
+ section.</p>
+
<div class="bookkeeping">
<p>The following common <code>input</code> element content
@@ -51659,6 +51508,11 @@
</div>
+ <p class="note">See <a href="#only-contemporary-times">the note on
+ historical dates</a> in the <span
+ title="attr-input-type-datetime">Date and Time</span> state
+ section.</p>
+
<div class="bookkeeping">
<p>The following common <code>input</code> element content
@@ -63684,7 +63538,7 @@
<strong> <article>
<header>
<h1>My toys</h1>
- <p>Published <time pubdate datetime="2010-08-04">August 4th</time></p>
+ <p>Published August 4th</p>
</header>
<p>I really like my chained book and my telephone. I'm not such a
fan of my big ball.</p>
@@ -63894,13 +63748,14 @@
<div class="example">
<p>The following extract shows how an IM conversation log could be
- marked up.</p>
+ marked up, using the <code>data</code> element to provide Unix
+ timestamps for each line.</p>
- <pre><p> <time>14:22</time> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
-<p> <time>14:23</time> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
-<p> <time>14:23</time> <b>egof</b> it's unarguably
-<p> <time>14:23</time> <i>* kaj blinks</i>
-<p> <time>14:24</time> <b>kaj</b> you are not helping your case</pre>
+ <pre><p> <data value="1319898155">14:22</data> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
+<p> <data value="1319898192">14:23</data> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
+<p> <data value="1319898200">14:23</data> <b>egof</b> it's unarguably
+<p> <data value="1319898228">14:23</data> <i>* kaj blinks</i>
+<p> <data value="1319898260">14:24</data> <b>kaj</b> you are not helping your case</pre>
<!-- with thanks to http://bash.org/?854262 -->
</div>
@@ -64776,17 +64631,19 @@
</div>
- <p>When a string value is a date, time, or both a date and a time,
- it is expressed using the <code>time</code> element and its <code
- title="attr-time-datetime">datetime</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">value</code> attribute of the
+ <code>data</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><div itemscope>
- I was born on <time itemprop="birthday" datetime="2009-05-10">May 10th 2009</time>.
+ I was born on <data itemprop="birthday" value="2009-05-10">May 10th 2009</data>.
</div></pre>
</div>
@@ -65005,7 +64862,7 @@
<dt>Author
<dd itemprop="author">Peter F. Hamilton
<dt>Publication date
- <dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time>
+ <dd><data itemprop="pubdate" value="1996-01-26">26 January 1996</data>
</dl></pre>
<p>The "<code title="">http://vocab.example.net/book</code>"
@@ -65712,11 +65569,11 @@
url">resolving</span> it results in an error.</p></dd>
- <dt>If the element is a <code>time</code> element with a <code
- title="attr-time-datetime">datetime</code> attribute</dt>
+ <dt>If the element is a <code>data</code> element</dt>
<dd><p>The value is the value of the element's <code
- title="attr-time-datetime">datetime</code> attribute.</p></dd>
+ title="attr-data-value">value</code> attribute, if it has one, or
+ the empty string otherwise.</p></dd>
<dt>Otherwise</dt>
@@ -65738,28 +65595,21 @@
must be specified using a <span title="URL property elements">URL
property element</span>.</p>
- <p>If a property's <span title="concept-property-value">value</span>
- represents a <span title="concept-date">date</span>, <span
- title="concept-time">time</span>, or <span
- title="concept-datetime">global date and time</span>, as defined by
- the property's definition, the property must be specified using the
- <code title="attr-time-datetime">datetime</code> attribute of a
- <code>time</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>time</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>time</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</code> element,
+ even though it looks like a <span>URL</span>. 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</code> element (or one of the other <span>URL property
+ elements</span>), because of the requirement above.</p>
<!--END w3c-html-->
@@ -66112,13 +65962,11 @@
title="">data</code> content attribute.</p></dd>
- <dt>If the element is a <code>time</code> element with a <code
- title="attr-time-datetime">datetime</code> attribute</dt>
+ <dt>If the element is a <code>data</code> element</dt>
<dd><p>The attribute must act as it would if it was <span
title="reflect">reflecting</span> the element's <code
- title="attr-time-datetime">datetime</code> content
- attribute.</p></dd>
+ title="attr-data-value">value</code> content attribute.</p></dd>
<dt>Otherwise</dt>
@@ -67900,18 +67748,19 @@
title="">URI</code>" to <var
title="">parameters</var>.</p></li>
- <li><p>Otherwise, if <var title="">element</var> is a
- <code>time</code> element and the <var title="">value</var> is
- a <span>valid date string</span>, add a parameter with the name
- "<code title="">VALUE</code>" and the value "<code
- title="">DATE</code>" to <var
+ <li><p>Otherwise, if <var title="">name</var> is <code
+ title="md-vcard-bday">bday</code> and the <var
+ title="">value</var> is a <span>valid date string</span>, add
+ a parameter with the name "<code title="">VALUE</code>" and
+ the value "<code title="">DATE</code>" to <var
title="">parameters</var>.</p></li>
- <li><p>Otherwise, if <var title="">element</var> is a
- <code>time</code> element and the <var title="">value</var> is
- a <span>valid global date and time string</span>, add a
- parameter with the name "<code title="">VALUE</code>" and the
- value "<code title="">DATE-TIME</code>" to <var
+ <li><p>Otherwise, if <var title="">name</var> is <code
+ title="md-vcard-bday">rev</code> and the <var
+ title="">value</var> is a <span>valid global date and time
+ string</span>, add a parameter with the name "<code
+ title="">VALUE</code>" and the value "<code
+ title="">DATE-TIME</code>" to <var
title="">parameters</var>.</p></li>
<li><p>Prefix every U+005C REVERSE SOLIDUS character (\) in
@@ -68991,8 +68840,12 @@
</dd>
- <dt>If <var title="">element</var> is a <code>time</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>
@@ -69176,8 +69029,8 @@
...
<h1 itemprop="summary">Bluesday Tuesday: Money Road</h1>
...
- <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th @ 7pm</time>
- (until <time itemprop="dtend" datetime="2009-05-05T21:00:00Z">9pm</time>)
+ <data itemprop="dtstart" value="2009-05-05T19:00:00Z">May 5th @ 7pm</data>
+ (until <data itemprop="dtend" value="2009-05-05T21:00:00Z">9pm</data>)
...
<a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
rel="bookmark" itemprop="url">Link to this page</a>
@@ -69238,8 +69091,8 @@
<pre><div itemscope itemtype="http://microformats.org/profile/hcalendar#vevent">
<p>I'm going to
<strong itemprop="summary">Bluesday Tuesday: Money Road</strong>,
- <time itemprop="dtstart" datetime="2009-05-05T19:00:00Z">May 5th at 7pm</time>
- to <time itemprop="dtend" content="2009-05-05T21:00:00Z">9pm</time>,
+ <data itemprop="dtstart" value="2009-05-05T19:00:00Z">May 5th at 7pm</data>
+ to <data itemprop="dtend" value="2009-05-05T21:00:00Z">9pm</data>,
at <span itemprop="location">The RoadHouse</span>!</p>
<p><a href="http://livebrum.co.uk/2009/05/05/bluesday-tuesday-money-road"
itemprop="url">See this event on livebrum.co.uk</a>.</p>
@@ -69503,730 +69356,15 @@
</ol>
+ </div>
+
<!--END microdata-->
</div><!--data-component-->
-
-
-
- <div data-component="other Hixie drafts (editor: Ian Hickson)">
-
- <h4 id="atom">Atom</h4>
-
- <p>Given a <code>Document</code> <var title="">source</var>, a user
- agent may run the following algorithm to <dfn 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>Document</code> <var title="">source</var> does
- not contain any <code>article</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 <span title="XML
- documents">XML</span> <code>Document</code> object whose <span
- title="the document's address">address</span> is user-agent
- defined.</p></li>
-
- <li><p>Append a <code title="">feed</code> element in the
- <span>Atom namespace</span> to <var title="">R</var>.</p></li>
-
- <li>
-
- <p>For each <code>meta</code> element with a <code
- title="attr-meta-name">name</code> attribute and a <code
- title="attr-meta-content">content</code> attribute and whose <code
- title="attr-meta-name">name</code> attribute's value is <code
- title="meta-author">author</code>, run the following substeps:</p>
-
- <ol>
-
- <li><p>Append an <code title="">author</code> element in the
- <span>Atom namespace</span> to the root element of <var
- title="">R</var>.</p></li>
-
- <li><p>Append a <code title="">name</code> element in the
- <span>Atom namespace</span> to the element created in the
- previous step.</p>
-
- <li><p>Append a text node whose data is the value of the
- <code>meta</code> element's <code
- title="attr-meta-content">content</code> attribute to the element
- created in the previous step.</p></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>link</code> element with a <code
- title="attr-link-rel">rel</code> attribute, and <span title="split
- a string on spaces">splitting on spaces</span> the value of that
- attribute results in a list which has at least one token that is
- an <span>ASCII case-insensitive</span> match for the string "<code
- title="rel-icon">icon</code>", and that element also has an <code
- title="attr-link-href">href</code> attribute whose value
- successfully <span title="resolve a url">resolves</span> relative
- to the <code>link</code> element, then append an <code
- title="">icon</code> element in the <span>Atom namespace</span> to
- the root element of <var title="">R</var> whose contents is a text
- node with its data set to the <span>absolute URL</span> resulting
- from <span title="resolve a url">resolving</span> the value of the
- <code title="attr-link-href">href</code> attribute of the first
- such <code>link</code> element.</p>
-
- <!-- could check ratio, could check type... -->
-
- </li>
-
- <li>
-
- <p>Append an <code title="">id</code> element in the <span>Atom
- namespace</span> to the root element of <var title="">R</var>
- whose contents is a text node with its data set to <span>the
- document's current address</span>.</p>
-
- </li>
-
- <li>
-
- <p>Optionally: Let <var title="">x</var> be a <code
- title="">link</code> element in the <span>Atom
- namespace</span>. 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) <span title="the document's
- address">address</span> 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 <span title="the document's
- address">address</span>. 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 <span>Atom namespace</span>. 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 <span title="HTML documents">HTML
- document</span>, add a <code title="">type</code> attribute whose
- value is the string "<code>text/html</code>" to <var
- title="">x</var>. Otherwise, the document being converted is an
- <span title="XML documents">XML document</span>; add a <code
- title="">type</code> attribute whose value is the string
- "<code>application/xhtml+xml</code>" to <var title="">x</var>. Add
- an <code title="">href</code> attribute whose value is <span>the
- document's current address</span> 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.</p></li>
-
- <li><p>Let <var title="">heading</var> be the first element of
- <span>heading content</span> whose nearest ancestor element that is
- a <span>sectioning root</span> or that is <span>sectioning
- content</span> is <span>the body element</span>, if any, or null if
- there is none.</p></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
- <span>the <code>title</code> element</span>, if there is one, or
- an empty list otherwise.</p>
-
- </dd>
-
- <dt>If <var title="">heading</var> is an <code>hgroup</code> element</dt>
-
- <dd>
-
- <p>If <var title="">heading</var> contains no child
- <code>h1</code>–<code>h6</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>h1</code>–<code>h6</code> element children
- of <var title="">heading</var>, sorted first by descending
- <span>rank</span> and then in <span>tree order</span> (so
- <code>h1</code>s first, then <code>h2</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>h1</code>–<code>h6</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><span title="concept-node-clone">Clone</span> the nodes in <var
- title="">heading content</var> and their descendants into an
- environment that has <span title="concept-bc-noscript">scripting
- disabled</span>, has no <span title="plugin">plugins</span>, and
- fails any attempt to <span title="fetch">fetch</span> any
- resources. Let <var title="">cloned heading content</var> be a new
- <code>DocumentFragment</code> containing the resulting cloned
- nodes, preserving their relative order.</p>
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <span title="HTML
- documents">HTML document</span>, then: Let <var title="">x</var>
- be a <code title="">title</code> element in the <span>Atom
- namespace</span>. 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 <span>HTML fragment serialization
- algorithm</span> 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 <span title="XML
- documents">XML document</span>: Let <var title="">x</var> be a
- <code title="">title</code> element in the <span>Atom
- namespace</span>. Add a <code title="">type</code> attribute whose
- value is the string "<code title="">xhtml</code>" to <var
- title="">x</var>. Append a <code>div</code> element to <var
- title="">x</var>. Move all the child nodes of the <var
- title="">cloned heading content</var> node to that
- <code>div</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><span title="concept-node-clone">Clone</span> the nodes in
- <var title="">subheading content</var> and their descendants
- into an environment that has <span
- title="concept-bc-noscript">scripting disabled</span>, has no
- <span title="plugin">plugins</span>, and fails any attempt to
- <span title="fetch">fetch</span> any resources. Let <var
- title="">cloned subheading content</var> be a new
- <code>DocumentFragment</code> containing the resulting cloned
- nodes, preserving their relative order.</p>
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <span title="HTML
- documents">HTML document</span>, then: Let <var title="">x</var>
- be a <code title="">subtitle</code> element in the <span>Atom
- namespace</span>. 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 <span>HTML fragment serialization
- algorithm</span> 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 <span
- title="XML documents">XML document</span>: Let <var
- title="">x</var> be a <code title="">subtitle</code> element in
- the <span>Atom namespace</span>. Add a <code
- title="">type</code> attribute whose value is the string "<code
- title="">xhtml</code>" to <var title="">x</var>. Append a
- <code>div</code> element to <var title="">x</var>. Move all the
- child nodes of the <var title="">cloned subheading content</var>
- node to that <code>div</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.</p></li>
-
- <li>
-
- <p>For each <code>article</code> element <var
- title="">article</var> that does not have an ancestor
- <code>article</code> element, run the following steps:</p>
-
- <ol>
-
- <li><p>Let <var title="">E</var> be an <code
- title="">entry</code> element in the <span>Atom namespace</span>,
- and append <var title="">E</var> to the root element of <var
- title="">R</var>.</p></li>
-
- <li>
-
- <p>Set the <code title="attr-xml-base">xml:base</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 <span>document base URL</span> of the
- <code>Document</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>Document</code> objects represented XML
- documents.</p>
-
- </li>
-
- <li><p>Let <var title="">heading</var> be the first element of
- <span>heading content</span> whose nearest ancestor of
- <span>sectioning content</span> is <var title="">article</var>,
- if any, or null if there is none.</p></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>hgroup</code> element</dt>
-
- <dd>
-
- <p>If <var title="">heading</var> contains no child
- <code>h1</code>–<code>h6</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>h1</code>–<code>h6</code> element
- children of <var title="">heading</var>, sorted first by
- descending <span>rank</span> and then in <span>tree
- order</span> (so <code>h1</code>s first, then
- <code>h2</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>h1</code>–<code>h6</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>hgroup</code> and it has no default fallback when <var
- title="">heading</var> is null.</p>
-
- </li>
-
- <li>
-
- <p><span title="concept-node-clone">Clone</span> the nodes in
- <var title="">heading content</var> and their descendants into
- an environment that has <span
- title="concept-bc-noscript">scripting disabled</span>, has no
- <span title="plugin">plugins</span>, and fails any attempt to
- <span title="fetch">fetch</span> any resources. Let <var
- title="">cloned heading content</var> be a new
- <code>DocumentFragment</code> containing the resulting cloned
- nodes, preserving their relative order.</p>
-
- </li>
-
- <li>
-
- <p>If the document being converted is an <span title="HTML
- documents">HTML document</span>, then: Let <var title="">x</var>
- be a <code title="">title</code> element in the <span>Atom
- namespace</span>. 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 <span>HTML fragment serialization
- algorithm</span> 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 <span
- title="XML documents">XML document</span>: Let <var
- title="">x</var> be a <code title="">title</code> element in the
- <span>Atom namespace</span>. Add a <code title="">type</code>
- attribute whose value is the string "<code
- title="">xhtml</code>" to <var title="">x</var>. Append a
- <code>div</code> element to <var title="">x</var>. Move all the
- child nodes of the <var title="">cloned heading content</var>
- node to that <code>div</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><span title="concept-node-clone">Clone</span> <var
- title="">article</var> and its descendants into an environment
- that has <span title="concept-bc-noscript">scripting
- disabled</span>, has no <span title="plugin">plugins</span>, and
- fails any attempt to <span title="fetch">fetch</span> any
- resources. Let <var title="">cloned article</var> be the
- resulting clone <code>article</code> element.</p>
-
- </li>
-
- <li>
-
- <p>Find in the subtree rooted at <var title="">cloned
- article</var> all the <code>article</code> elements other than
- the <var title="">cloned article</var> itself, all the
- <code>header</code>, <code>footer</code>, and <code>nav</code>
- elements whose nearest ancestor of <span>sectioning
- content</span> is the <var title="">cloned article</var>, and
- the first element of <span>heading content</span> whose nearest
- ancestor of <span>sectioning content</span> 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>ins</code> or <code>del</code> elements with <code
- title="attr-mod-datetime">datetime</code> attributes whose
- values <span title="parse a global date and time string">parse
- as global date and time strings</span> without errors, then let
- <var title="">update date</var> be the value of the <code
- title="attr-mod-datetime">datetime</code> attribute that parses
- to the newest <span title="concept-datetime">global date and
- time</span>.</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>ins</code> or <code>del</code>
- elements whose <code title="attr-mod-datetime">datetime</code>
- attributes have values that are just <span title="valid date
- string">valid date strings</span> (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 <span title="HTML
- documents">HTML document</span>, then: Let <var title="">x</var>
- be a <code title="">content</code> element in the <span>Atom
- namespace</span>. 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 <span>HTML fragment serialization
- algorithm</span> 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 <span
- title="XML documents">XML document</span>: Let <var
- title="">x</var> be a <code title="">content</code> element in
- the <span>Atom namespace</span>. Add a <code
- title="">type</code> attribute whose value is the string "<code
- title="">xhtml</code>" to <var title="">x</var>. Append a
- <code>div</code> element to <var title="">x</var>. Move all the
- child nodes of the <var title="">cloned article</var> node to
- that <code>div</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</code> or <code>area</code> element with an <code
- title="attr-hyperlink-href">href</code> attribute that
- successfully <span title="resolve a url">resolves</span>
- relative to that descendant and a <code
- title="attr-hyperlink-rel">rel</code> attribute, and <span
- title="split a string on spaces">splitting on spaces</span> the
- value of that attribute results in a list which has at least
- one token that is an <span>ASCII case-insensitive</span> match
- for the string "<code
- title="rel-bookmark">bookmark</code>"</dt>
-
- <dd>Let <var title="">id</var> be the <span>absolute URL</span>
- resulting from <span title="resolve a url">resolving</span> the
- value of the <code title="attr-hyperlink-href">href</code>
- attribute of the first such <code>a</code> or <code>area</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">id</code> attribute</dt>
-
- <dd>Let <var title="">id</var> be <span>the document's current
- address</span>, 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">id</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 <span title="valid
- URL">valid</span> <span>absolute URL</span>. The same
- <span>absolute URL</span> 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 <span>Atom
- namespace</span> 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
- <span>Atom namespace</span>. 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>time</code>
- element descendant that has a <code
- title="attr-time-pubdate">pubdate</code> attribute and whose
- nearest ancestor <code>article</code> element is <var
- title="">article</var>, and the first such element's <span
- title="concept-time-date">date</span> 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 <span
- title="concept-datetime">global date and time</span> whose date
- component is the <span title="concept-time-date">date</span> of
- <var title="">e</var>.</p></li>
-
- <li><p>If <var title="">e</var>'s <span
- title="concept-time-time">time</span> and <span
- title="concept-time-timezone">time-zone offset</span> are not
- unknown, then let <var title="">datetime</var>'s time and
- time-zone offset components be the <span
- title="concept-time-time">time</span> and <span
- title="concept-time-timezone">time-zone offset</span> of <var
- title="">e</var>. Otherwise, let them be midnight and no offset
- respectively ("<code title="">00:00Z</code>").</p></li>
-
- <li><p>Let <var title="">publication date</var> be the
- <span>best representation of the global date and time
- string</span> <var title="">datetime</var>.</p></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 <span
- title="concept-datetime">global date and time</span> 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 <span>best representation of
- the global date and time string</span> <var title="">fallback
- date</var>.</p>
-
- </li>
-
- <li>
-
- <p>Append a <code title="">published</code> element in the
- <span>Atom namespace</span> 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
- <span>Atom namespace</span> 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 <span>valid global date and time
- string</span> representing the <span
- title="concept-datetime">global date and time</span> of the date
- and time of the <code>Document</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
- <span>Atom namespace</span> into the root element of <var
- title="">R</var> before the first <code title="">entry</code> in
- the <span>Atom namespace</span> 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>.</p></li>
-
- </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=""><meta name="author"
- content="..."></code> elements), then the output will not be
- conforming.</p>
-
- <p>The <dfn>Atom namespace</dfn> is: <code>http://www.w3.org/2005/Atom</code></p>
-
- </div>
-
<!--START w3c-html--><!--MD-->
-<!--START microdata-->
- </div>
-<!--END microdata-->
-
-
-
<h2 id="browsers">Loading Web pages</h2>
<div class="impl">
@@ -108539,29 +107677,7 @@
</div>
- <div class="impl">
- <h4>The <code>time</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>time</code> element, the element is expected to render as if
- it contained text conveying the <span
- title="concept-time-date">date</span> (if known), <span
- title="concept-time-time">time</span> (if known), and <span
- title="concept-time-timezone">time-zone offset</span> (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">
<h3>Frames and framesets</h3>
@@ -112175,6 +111291,18 @@
</tr>
<tr>
+ <th><code>data</code></th>
+ <td>Machine-readable equivalent</td>
+ <td><span title="Flow content">flow</span>;
+ <span title="Phrasing content">phrasing</span></td>
+ <td><span title="Phrasing content">phrasing</span></td>
+ <td><span title="Phrasing content">phrasing</span></td>
+ <td><span title="global attributes">globals</span>;
+ <code title="attr-data-value">value</code></td>
+ <td><code>HTMLDataElement</code></td>
+ </tr>
+
+ <tr>
<th><code>datalist</code></th>
<td>Container for options for <span title="attr-input-list">combo box control</span></td>
<td><span title="Flow content">flow</span>;
@@ -113174,19 +112302,6 @@
</tr>
<tr>
- <th><code>time</code></th>
- <td>Date and/or time</td>
- <td><span title="Flow content">flow</span>;
- <span title="Phrasing content">phrasing</span></td>
- <td><span title="Phrasing content">phrasing</span></td>
- <td><span title="Phrasing content">phrasing</span>*</td>
- <td><span title="global attributes">globals</span>;
- <code title="attr-time-datetime">datetime</code>;
- <code title="attr-time-pubdate">pubdate</code></td>
- <td><code>HTMLTimeElement</code></td>
- </tr>
-
- <tr>
<th><code>title</code></th>
<td>Document title</td>
<td><span title="Metadata content">metadata</span></td>
@@ -113356,6 +112471,7 @@
<code>cite</code>;
<code>code</code>;
<code>command</code>;
+ <code>data</code>;
<code>datalist</code>;
<code>del</code>;
<code>details</code>;
@@ -113413,7 +112529,6 @@
<code>svg</code>;
<code>table</code>;
<code>textarea</code>;
- <code>time</code>;
<code>u</code>;
<code>ul</code>;
<code>var</code>;
@@ -113465,6 +112580,7 @@
<code>cite</code>;
<code>code</code>;
<code>command</code>;
+ <code>data</code>;
<code>datalist</code>;
<code>dfn</code>;
<code>em</code>;
@@ -113496,7 +112612,6 @@
<code>sup</code>;
<code>svg</code>;
<code>textarea</code>;
- <code>time</code>;
<code>u</code>;
<code>var</code>;
<code>video</code>;
@@ -113645,6 +112760,7 @@
<code>canvas</code>;
<code>cite</code>;
<code>code</code>;
+ <code>data</code>;
<code>details</code>;
<code>dfn</code>;
<code>div</code>;
@@ -113693,7 +112809,6 @@
<code>svg</code>;
<code>table</code>;
<code>textarea</code>;
- <code>time</code>;
<code>u</code>;
<code>var</code>;
<code>video</code>
@@ -113871,11 +112986,6 @@
<td> Date and (optionally) time of the change
<td> <span>Valid date string with optional time</span>
<tr>
- <th> <code title="">datetime</code>
- <td> <code title="attr-time-datetime">time</code>
- <td> Value of the element
- <td> <span>Valid date or time string</span>*
- <tr>
<th> <code title="">default</code>
<td> <code title="attr-track-default">track</code>
<td> Enable the track if no other <span>text track</span> is more suitable.
@@ -114135,7 +113245,7 @@
<th> <code title="">max</code>
<td> <code title="attr-input-max">input</code>
<td> Maximum value
- <td> varies*
+ <td> Varies*
<tr>
<th> <code title="">max</code>
<td> <code title="attr-meter-max">meter</code>;
@@ -114172,7 +113282,7 @@
<th> <code title="">min</code>
<td> <code title="attr-input-min">input</code>
<td> Minimum value
- <td> varies*
+ <td> Varies*
<tr>
<th> <code title="">min</code>
<td> <code title="attr-meter-min">meter</code>
@@ -114275,11 +113385,6 @@
"<code title="attr-media-preload-metadata">metadata</code>";
"<code title="attr-media-preload-auto">auto</code>"
<tr>
- <th> <code title="">pubdate</code>
- <td> <code title="attr-time-pubdate">time</code>
- <td> Whether the element's value represents a publication time for the nearest <code>article</code> or <code>body</code>
- <td> <span>Boolean attribute</span>
- <tr>
<th> <code title="">radiogroup</code>
<td> <code title="attr-command-radiogroup">command</code>
<td> Name of group of commands to treat as a radio button group
@@ -114528,9 +113633,14 @@
<td> <a href="#attribute-text">Text</a>
<tr>
<th> <code title="">value</code>
+ <td> <code title="attr-data-value">input</code>
+ <td> Machine-readable value
+ <td> <a href="#attribute-text">Text</a>*
+ <tr>
+ <th> <code title="">value</code>
<td> <code title="attr-input-value">input</code>
<td> Value of the form control
- <td> varies*
+ <td> Varies*
<tr>
<th> <code title="">value</code>
<td> <code title="attr-li-value">li</code>
@@ -115138,6 +114248,10 @@
<td> <code>HTMLCommandElement</code> : <code>HTMLElement</code>
<tr>
+ <td> <code>data</code>
+ <td> <code>HTMLDataElement</code> : <code>HTMLElement</code>
+
+ <tr>
<td> <code>datalist</code>
<td> <code>HTMLDataListElement</code> : <code>HTMLElement</code>
@@ -115446,10 +114560,6 @@
<td> <code>HTMLTableSectionElement</code> : <code>HTMLElement</code>
<tr>
- <td> <code>time</code>
- <td> <code>HTMLTimeElement</code> : <code>HTMLElement</code>
-
- <tr>
<td> <code>title</code>
<td> <code>HTMLTitleElement</code> : <code>HTMLElement</code>
More information about the Commit-Watchers
mailing list