This document represents a draft microformat specification. Although drafts are somewhat mature in the development process, the stability of this document cannot be guaranteed, and implementers should be prepared to keep abreast of future developments and changes. Watch this wiki page, or follow discussions on the #microformats Freenode IRC channel to stay up-to-date.
rel-enclosure 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
This specification is (C) 2004-2014 by the authors. However, the authors intend to submit 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.
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 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
- "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 "
- That's not necessarily the case; the linked file may be an audio reading of the text on the page, for instance. Andy Mabbett 02:37, 5 Oct 2007 (PDT)
<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>
Examples in the Wild
This section is informative.
The following sites have implemented rel-enclosure, and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with rel-enclosure, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page.
- Huffduffer uses rel-enclosure on links to audio files marked "download".
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.
- The Atom Syndication Format:
- 188.8.131.52 The "rel" Attribute
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.