rel-enclosure

From Microformats Wiki
Revision as of 18:20, 24 September 2007 by AndyMabbett (talk | contribs) ({{rel-related-pages}})
Jump to navigation Jump to search

rel="enclosure"

relEnclosure is a simple, open, format for indicating files to cache which is embeddable in (X)HTML, Atom, RSS, and arbitrary XML. relEnclosure is an elemental microformat, one of several microformat open standards.

Draft Specification 2005-06-21

Author

Kevin Marks, Technorati, Inc.

Copyright

This specification is (C) 2004-2024 by the authors. However, the authors intend to submit (or already have submitted, see details in the spec) this specification to a standards body with a liberal copyright/licensing policy such as the GMPG, IETF, and/or W3C. Anyone wishing to contribute should read their copyright principles, policies and licenses (e.g. the GMPG Principles) and agree to them, including licensing of all contributions under all required licenses (e.g. CC-by 1.0 and later), before contributing.

Patents

This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.

Abstract

relEnclosure is one of several microformats. By adding rel="enclosure" to a hyperlink, a page indicates that the destination of that hyperlink is intended to be downloaded and cached. E.g. with the following hyperlink:

<a href="http://homepage.mac.com/kevinmarks/wwdc2005.mov" rel="enclosure">WWDC 2005 Keynote with chapters</a>

the author indicates that the movie should be downloaded.

Multiple Enclosures

Multiple such rel="enclosure" hyperlinks indicate that several media items should be downloaded.

Question: What if there are several alternative formats, such as high- and low-bandwidth recordings? Since <link rel="alternate" href="..."> is already defined in XHTML for that purpose, so how should it interact with this new rel tag?

Response: rel="alternate" is defined in the HTML spec:

Designates substitute versions for the document in which the link occurs.

In the case of enclosure links "alternate" is not suited, because the media file is not a substitute version of the document in which the link occurs - it is a substitute version of another link on the document in which the link occurs.

Proposal: Multiple instances of the same enclosure (i.e. same video with different formats, size/resolution, bitrates, etc) could be grouped in a class="enclosure" block with multiple rel="enclosure" links. This would be analogous to <media:group> in MRSS

XMDP profile

<dl class="profile">
 <dt id="rel">rel</dt>
 <dd><p>
   <a rel="help" href="http://www.w3.org/TR/html401/struct/links.html#adef-rel">
     HTML4 definition of the 'rel' attribute.</a>  
   Here is an additional value.</p>
  <dl>
   <dt id="enclosure"> enclosure </dt>
   <dd>Indicates that the referred resource is intended to be downloaded and cached</dd>
  </dl>
 </dd>
</dl>

Implementations

This section is informative.

The following implementations have been developed which either generate or parse rel-enclosure links. If you have a rel-enclosure implementation, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.

  • FeedBurner: the SmartCast service looks for the rel="enclosure" microformat and converts it to an enclosure in the feed.
  • ODEO publishes rel-enclosure links for user podcast MP3s.
  • Video Pop-Up Link Maker: generates code for rel-enclosure links for videobloggers. Also generates Javascript to launch a pop-up window with the video embedded. (Also available at embedthevideo.com)

References

Normative References

Informative References

  4.  The value "enclosure" signifies that the IRI in the value of the
      href attribute identifies a related resource which is potentially
      large in size and might require special handling.  For atom:link
      elements with rel="enclosure", the length attribute SHOULD be
      provided.


See also