Future of HTML - Marking Dated Sections

Proposal for Marking Dated Sections in HTML

There is a need to mark up dated sections of documents. The use of
Expiration  HTTP headers is too limited for some needs. In such
situations authors may want to note that a section of the document is
valid within a specific time frame although the entire document may have
a longer life.

This proposal is based on an E-mail message posted to the www-html@w3.org 
mailing list on August 29, 1997, which can be found in the archives at 
http://lists.w3.org/Archives/Public/www-html/1997Aug/0378.html

The addition of the following "revision attributes" to the SPAN and DIV 
elements (or the creation of a new DATED element with these attributes) 
will serve these needs:

  dated="dated"		signifies that the content is dated
  datetime-start=CDATA	signifies the start of the time frame
  datetime-end=CDATA	signifies the end of the time frame

The dateimes will be specified in ISO format. The omission of a start 
date or the omission of an end date is allowed, although omtting both in 
a dated section has no meaning.

By default, these attributes would have no effect on appearence unless
specified in the style sheet. 

Some possible CSS pseudo-classes for dated markup:

    span:active { }     - the content is within the time frame
    span:inactive { }  - the content is not within the active date
                                   (either before our after the dates)   
    span:prior { }      - the content is prior to the datetime given
    span:expired { }  - the content is after the expiration date

'prior' and 'expired' psuedo-classes take precedence over 'inactive', and
'active', 'inactive', 'prior' and 'expired' all take precedence over
'revised'.

By altering the markup, authors may emphasize sections of the document
based on the current date (ideally based on the Date: header returned by
the server).  For example,

  <head>
  <style type="text/css">
    span:active { color: red; }
    span:expired ( color: grey; font-style: italics; }
  </style>

  <body>
  <p><span dated datetime-start="1997-12-01" datetime-end="1997-12-14">
   Registration for the conference is between December 1st and 
   December 14th, 1997.</span></p>

By specifying dated sections, authors may add visual (or aural) cues to 
the document. Maintenance of sites with specialized robots can also be 
improved by allowing them to detect outdated sections of a document.

For situations where an author prefers to publish an up-to-date schedule 
of events, this allows an alternative to server-side scripting (which is 
not an available option for all authors). Pages can be cached and still 
have dynamic content, especially if scripting attributes which mirror the 
CSS pseudo-classs are implemented:

  <span dated oninactive="this.display='none'"
    datetime-start="1998-12-26T00:00:00-0500"
    datetime-end="1999-01-01T00:00:00-0500"
  >Getting ready for New Year's Day on Jan. 1</span>

  <span dated oninactive="this.display='none'"
    datetime-start="1999-01-01T00:00:00-0500"
    datetime-end="1999-02-02T00:00:00-0500"
  >Getting ready for Groundhog's Day on Feb. 2</span>

In the above example it's assumed that the document still makes sense
on browsers which do not recognize dated elements or where scripting and 
style sheets are disabled.

Robert Rothenburg

Received on Thursday, 23 April 1998 04:56:28 UTC