This specification is (C) 2004-2021 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.
rel="tag" is one of several microformats. By adding
rel="tag" to a hyperlink, a page indicates that the destination of that hyperlink is an author-designated "tag" (or keyword/subject) of the current page. Note that a tag may just refer to a major portion of the current page (i.e. a blog post). e.g. by placing this link on a page,
<a href="http://technorati.com/tag/tech" rel="tag">tech</a>
the author indicates that the page (or some portion of the page) has the tag "tech".
The linked page SHOULD exist, and it is the linked page, rather than the link text, that defines the tag. The last path component of the URL is the text of the tag, so
<a href="http://technorati.com/tag/tech" rel="tag">fish</a>
would indicate the tag "tech" rather than "fish".
rel="tag" is specifically designed for "tagging" content, typically web pages (or portions thereof, like blog posts).
rel="tag" is NOT designed for "tagging" arbitrary URLs or external content. There is demand for a general decentralized syntax for tagging URLs, and that is certainly something to think about, but this is not meant for that. See xFolk and hReview for ways to tag arbitrary URLs.
<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="tag">tag</dt> <dd>Indicates that the referred resource serves as a "tag", or keyword/subject, for the referring page.</dd> </dl> </dd> </dl>
Tags are embedded in HTTP URIs in a well-defined manner so that the tag embedded in an HTTP URI can be mechanically extracted from that URI. Specifically, the last segment of the path portion of the URI (after the final "/" character) contains the tag value. For example, the URI
contains the tag "foo".
Thus, for the purposes of comparing two HTTP URIs as tags, the last segment of the path portion should be extracted and only that value (that value of the tag) should be compared.
Need more formal language about comparison and extraction process.
The destination of a rel="tag" hyperlink is required to be a tag space (a place that collates or defines tags), where the last segment of the path of the URL is the tag, e.g.
is a URL for the tag "tech".
Tags may only be placed in the URL path, and only in the last segment of the path. Tags may not be placed in query parameters or fragment identifiers. e.g.
is still a URL for the tag "tech", not "fish" or "emu".
Since the only part of a tag space URL of which any structure is required is the last path segment, a tag space URL can be hosted at any domain. Authors may choose to link to a tag at a particular tag space in order to provide a specific meaning. E.g. a tag for technology could link to:
Trailing slashes in tag URLs are ignored, that is:
as a rel-tag URL is treated as: