<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Spicerider1</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Spicerider1"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/Special:Contributions/Spicerider1"/>
	<updated>2026-05-30T01:47:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=hatom&amp;diff=45306</id>
		<title>hatom</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=hatom&amp;diff=45306"/>
		<updated>2012-01-14T08:36:47Z</updated>

		<summary type="html">&lt;p&gt;Spicerider1: /* Translations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;entry-title&amp;gt;hAtom 0.1&amp;lt;/entry-title&amp;gt;&lt;br /&gt;
{{Template:DraftSpecification}}&lt;br /&gt;
&lt;br /&gt;
hAtom is a microformat for content that can be syndicated, primarily but not exclusively weblog postings. hAtom is based on a subset of the [http://www.atomenabled.org/ Atom] syndication format. hAtom will be one of several [[microformats]] open standards.&lt;br /&gt;
__TOC__&lt;br /&gt;
== Draft Specification ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
;&amp;lt;span class=&amp;quot;role&amp;quot;&amp;gt;Editor/Author&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://blogmatrix.blogmatrix.com/ David Janes]&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;org&amp;quot;&amp;gt;([http://www.blogmatrix.com BlogMatrix, Inc.])&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Contributors&lt;br /&gt;
:&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[http://members.optusnet.com.au/benjamincarlyle/benjamin/blog/ Benjamin Carlyle]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
:&amp;lt;span class=&amp;quot;vcard&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;fn&amp;quot;&amp;gt;[[User:Tantek|Tantek Çelik]]&amp;lt;/span&amp;gt; (&amp;lt;span class=&amp;quot;url&amp;quot;&amp;gt;http://tantek.com/&amp;lt;/span&amp;gt; and before at [http://technorati.com Technorati, Inc.])&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[hatom#Copyright|copyright]] and [[hatom#Patents|patents]] statements apply.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
hAtom 0.1 is a microformats.org draft specification. Public discussion on hAtom takes place on [[hatom-feedback]], the #microformats [[irc]] channel on irc.freenode.net, and [http://microformats.org/discuss/mail/microformats-discuss/ microformats-discuss mailing list].&lt;br /&gt;
&lt;br /&gt;
=== Available languages ===&lt;br /&gt;
The English version of this specification is the only normative version. For translations of this document see the [[#translations]] section.&lt;br /&gt;
&lt;br /&gt;
=== Errata and Updates ===&lt;br /&gt;
Known errors and issues in this specification are corrected in [[hatom-issues-resolved|resolved]] and [[hatom-issues-closed|closed]] issues. Please check there before reporting [[hatom-issues|issues]].&lt;br /&gt;
&lt;br /&gt;
The hAtom 0.2 update is currently under development and incorporates known errata corrections as well as the [[value-class-pattern]].&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
hAtom is a [[microformat]] for identifying semantic information in weblog posts and practically any other place [http://www.atomenabled.org/ Atom] may be used, such as news articles. hAtom content is easily added to most blogs by simple modifications to the blog's template definitions.&lt;br /&gt;
&lt;br /&gt;
{{rfc-2119-intro}}&lt;br /&gt;
&lt;br /&gt;
== Semantic XHTML Design Principles ==&lt;br /&gt;
{{semantic-xhtml-design-principles}}&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
=== In General ===&lt;br /&gt;
The [http://atomenabled.org/developers/syndication/#person Atom Syndication Format] provides the conceptual basis for this microformat, with the following caveats:&lt;br /&gt;
&lt;br /&gt;
* Atom provides a lot more functionality than we need for a &amp;quot;blog post&amp;quot; microformat, so we've taken the minimal number of elements needed.&lt;br /&gt;
* the &amp;quot;logical&amp;quot; model of hAtom is that of Atom. If there is a conflict, Atom should be taken as correct.&lt;br /&gt;
* the &amp;quot;physical&amp;quot; model of hAtom -- the actual writing of elements -- is a lot more varied than Atom provides for, due to the variety of ways weblogs are actually produced in the wild. The hAtom microformat provides a number of rules for &amp;quot;bridging the gap&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Schema ===&lt;br /&gt;
Schema elements are based on the Atom nomenclature and follow the microformat pattern of prefixing a unique identifier (in this case, '&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;') on the outermost container elements -- the Feed or Entry. The parts of this microformat are based on analysis of many weblog, bulletin board and media posts and can be read [[blog-post-brainstorming#Discovered_Elements]].&lt;br /&gt;
&lt;br /&gt;
The hAtom schema consists of the following:&lt;br /&gt;
&lt;br /&gt;
* hfeed ('''&amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt;'''). optional.&lt;br /&gt;
** '''&amp;lt;code&amp;gt;feed category&amp;lt;/code&amp;gt;'''. optional. keywords or phrases, using '''[[rel-tag]]'''.&lt;br /&gt;
** [[hentry]] ('''&amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;'''). &lt;br /&gt;
*** '''&amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt;'''. required. text.&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt;'''. optional (see field description). text. [*]&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;'''. optional. text.&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt;'''. required using [[datetime-design-pattern]]. [*]&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;'''. optional using [[datetime-design-pattern]].&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;'''. required using '''[[hcard|hCard]]'''. [*]&lt;br /&gt;
*** '''&amp;lt;code&amp;gt;bookmark&amp;lt;/code&amp;gt;''' (permalink). optional, using '''[[rel-bookmark]]'''.&lt;br /&gt;
*** tags. optional. keywords or phrases, using '''[[rel-tag]]'''.&lt;br /&gt;
&lt;br /&gt;
[*] Some required elements have defaults if missing, see below.&lt;br /&gt;
&lt;br /&gt;
=== Field and Element Details ===&lt;br /&gt;
&lt;br /&gt;
===== Feed =====&lt;br /&gt;
* a Feed element is identified by the class name &amp;lt;code&amp;gt;hfeed&amp;lt;/code&amp;gt;&lt;br /&gt;
* a Feed element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.1 Atom feed]&lt;br /&gt;
* the Feed element is optional and, if missing, is assumed to be the page&lt;br /&gt;
* hAtom documents {{may}} have multiple Feed elements&lt;br /&gt;
&lt;br /&gt;
===== Feed Category =====&lt;br /&gt;
* a Feed Category element is identified by [[rel-tag]]&lt;br /&gt;
* a Feed {{may}} have a Feed Category&lt;br /&gt;
* a Feed Category element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 Atom category] inside a [http://www.atomenabled.org/developers/syndication/#optionalFeedElements feed]&lt;br /&gt;
* Feed Category elements {{must}} appear inside a Feed element but not inside an Entry element&lt;br /&gt;
* the [[rel-tag]] &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; encodes the atom &amp;lt;code&amp;gt;category:term&amp;lt;/code&amp;gt;; the link text defines the atom &amp;lt;code&amp;gt;category:label&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Entry =====&lt;br /&gt;
* an Entry element is identified by class name &amp;lt;code&amp;gt;hentry&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.1.2 Atom entry]&lt;br /&gt;
* any microformat content inside a &amp;lt;code&amp;gt;&amp;amp;lt;blockquote&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;amp;lt;q&amp;gt;&amp;lt;/code&amp;gt; element within the Entry should not be considered part of the Entry.&lt;br /&gt;
: ''This allows quoting other microformated data without worry of corrupting the model''&lt;br /&gt;
&lt;br /&gt;
===== Entry Category =====&lt;br /&gt;
* an Entry Category element is identified by [[rel-tag]]&lt;br /&gt;
* an Entry {{may}} have an Entry Category&lt;br /&gt;
* an Entry Category element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.2 Atom category] inside an [http://www.atomenabled.org/developers/syndication/#optionalEntryElements entry]&lt;br /&gt;
* the [[rel-tag]] &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; encodes the atom &amp;lt;code&amp;gt;category:term&amp;lt;/code&amp;gt;; the link text defines the atom &amp;lt;code&amp;gt;category:label&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Entry Title =====&lt;br /&gt;
* an Entry Title element is identified by the class name &amp;lt;code&amp;gt;entry-title&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry {{should}} have an Entry Title&lt;br /&gt;
* an Entry Title element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.14 Atom entry title]&lt;br /&gt;
* if the Entry Title is missing, use&lt;br /&gt;
** the first &amp;lt;code&amp;gt;&amp;amp;lt;h#&amp;gt;&amp;lt;/code&amp;gt; element in the Entry, or&lt;br /&gt;
** the &amp;lt;code&amp;gt;&amp;amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; of the page, if there is no enclosing Feed element, or&lt;br /&gt;
** assume it is the empty string&lt;br /&gt;
&lt;br /&gt;
===== Entry Content =====&lt;br /&gt;
* an Entry Content element is identified by class name &amp;lt;code&amp;gt;entry-content&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry {{should}} have Entry Content&lt;br /&gt;
* an Entry Content element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#atomContent Atom content]&lt;br /&gt;
* an Entry {{may}} have 0 or more Entry Content elements. The &amp;quot;logical Entry Content&amp;quot; of an Entry is the concatenation, in order of appearance, of all the Entry Contents within the Entry&lt;br /&gt;
: ''Many web logs split content into multiple sections with a &amp;quot;Read More&amp;quot; link and JavaScript tricks. This is also needed in cases where Entry Titles are coded in-line and are considered part of the content.''&lt;br /&gt;
* if the Entry Content is missing, assume it is the empty string&lt;br /&gt;
&lt;br /&gt;
===== Entry Summary =====&lt;br /&gt;
* an Entry Summary element is identified by class name &amp;lt;code&amp;gt;entry-summary&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Summary element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.13 Atom summary]&lt;br /&gt;
* an Entry {{may}} have 0 or more Entry Summary elements. The &amp;quot;logical Entry Summary&amp;quot; of an Entry is the concatenation, in order of appearance, of all the Entry Summarys within the Entry&lt;br /&gt;
&lt;br /&gt;
===== Entry Permalink =====&lt;br /&gt;
* an Entry Permalink element is identified by [[rel-bookmark]]&lt;br /&gt;
* an Entry {{should}} have an Entry Permalink&lt;br /&gt;
* an Entry Permalink element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.7 Atom link in an entry]&lt;br /&gt;
* if the Entry Permalink is missing, use the URI of the page; if the Entry has an &amp;quot;id&amp;quot; attribute, add that as a fragment to the page URI to distinguish individual entries&lt;br /&gt;
&lt;br /&gt;
===== Entry Updated =====&lt;br /&gt;
* an Entry Updated element is identified by class name &amp;lt;code&amp;gt;updated&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Updated element represents the concept of [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.15 Atom updated]&lt;br /&gt;
* an Entry {{should}} have an Entry Updated element&lt;br /&gt;
* use the [[datetime-design-pattern]] to encode the updated datetime&lt;br /&gt;
* if there is no Entry Updated element,&lt;br /&gt;
** use the Entry Published element, if present&lt;br /&gt;
** otherwise the page is invalid hAtom&lt;br /&gt;
&lt;br /&gt;
===== Entry Published =====&lt;br /&gt;
* an Entry Published element is identified by the class name &amp;lt;code&amp;gt;published&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Published element represents the concept of [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.9 Atom published]&lt;br /&gt;
* use the [[datetime-design-pattern]] to encode the published datetime&lt;br /&gt;
&lt;br /&gt;
===== Entry Author =====&lt;br /&gt;
* an Entry Author element is represented by class name &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt;&lt;br /&gt;
* an Entry Author element represents the concept of an [http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rfc.section.4.2.1 Atom author]&lt;br /&gt;
* an Entry Author element {{must}} be encoded in an [[hcard|hCard]]&lt;br /&gt;
* an Entry Author element {{should}} be encoded in an &amp;lt;code&amp;gt;&amp;amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element&lt;br /&gt;
* an Entry {{should}} have at least one Entry Author element&lt;br /&gt;
* an Entry {{may}} have more than one Entry Author elements&lt;br /&gt;
* if the Entry Author is missing&lt;br /&gt;
** find the [[algorithm-nearest-in-parent|Nearest In Parent]] &amp;lt;code&amp;gt;&amp;amp;lt;address&amp;gt;&amp;lt;/code&amp;gt; element(s) with class name &amp;lt;code&amp;gt;author&amp;lt;/code&amp;gt; and that is/are a valid [[hcard|hCard]]&lt;br /&gt;
** otherwise the entry is invalid hAtom&lt;br /&gt;
&lt;br /&gt;
=== XMDP Profile ===&lt;br /&gt;
See [[hatom-profile]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
See [[hatom-examples]].&lt;br /&gt;
&lt;br /&gt;
=== Examples in the wild ===&lt;br /&gt;
&lt;br /&gt;
See [[hatom-examples-in-wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse hAtom links. If you have an hAtom 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 like [[hatom-implementations]].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
    add new items to the TOP of this list&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [http://code.google.com/p/spinn3r-client/ spinn3r-client] - implemented in [http://spinn3r.com Spinn3r] and part of [http://code.tailrank.com/feedparser FeedParser] and our announcement of [http://blog.spinn3r.com/2008/01/announcing-spin.html hAtom in Spinn3r 2.1]&lt;br /&gt;
* the [http://code.google.com/p/aump/ Almost Universal Microformat Parser] can extract hAtom content from webpages ([http://code.davidjanes.com/aumfp/demo/ demo])&lt;br /&gt;
* [http://rbach.priv.at/hAtom2Atom/ hAtom2Atom.xsl] transforms hAtom to Atom (as the name suggests.)&lt;br /&gt;
* There is now an [http://www.lukearno.com/projects/hatom2atom/ hatom2atom proxy] that uses hAtom2Atom.xsl.&lt;br /&gt;
* [http://placenamehere.com/article/185/SubscribingTohAtomFeedsWithNetNewsWire Subscribe To hAtom] is a script that provides [http://ranchero.com/netnewswire/ NetNewsWire 2.x] users with the ability to subscribe to hAtom documents as they would any other feed. by [[User:ChrisCasciano|Chris Casciano]].&lt;br /&gt;
* [http://boxtheweb.mihopa.net/code/apis/#outlineclasses Outline Classes] - has GPL'ed PHP code for reading hAtom&lt;br /&gt;
* [http://boxtheweb.4x2.net/ BoxtheWeb] - supports subscribing to hAtom as a feed format&lt;br /&gt;
* There is a [http://code.google.com/p/transformr/downloads/detail?name=hatom%280.2%29.zip hAtom toolkit] that extracts hAtom, there is also a [http://transformr.co.uk/ demo here]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
    add new items to the TOP of this list&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Copyright ==&lt;br /&gt;
{{MicroFormatCopyrightStatement2005}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.&lt;br /&gt;
&lt;br /&gt;
== Patents ==&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/2002/REC-xhtml1-20020801/ XHTML 1.0 SE]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc4287 RFC4287: The Atom Syndication Format]&lt;br /&gt;
* [[hcard-parsing]]&lt;br /&gt;
* [[rfc-2119|RFC 2119]]&lt;br /&gt;
* [[iso-8601|ISO8601]]&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [http://www.atomenabled.org/ atomenabled.org]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* [http://www.ablognotlimited.com/articles/getting-semantic-with-microformats-part-5-hatom/ Getting Semantic With Microformats, Part 5: hAtom] by [http://www.ablognotlimited.com/ Emily Lewis]&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. There is a separate document where we are keeping our brainstorms and other explorations relating to hAtom:&lt;br /&gt;
&lt;br /&gt;
* [[blog-post-brainstorming|blog-post Brainstorming]]&lt;br /&gt;
&lt;br /&gt;
=== Version 0.1 ===&lt;br /&gt;
&lt;br /&gt;
Version 0.1 was released 28 February 2006.&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
* See [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about hAtom, check the [[hatom-faq|hAtom FAQ]], and if you don't find answers, add your questions!&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
* Please add any issues with the specification to the separate [[hatom-issues|hAtom issues]] document.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{hatom-related-pages}}&lt;br /&gt;
* [[rel-enclosure]] - how to semantically reference enclosures (e.g. podcasts) in hAtom&lt;br /&gt;
* [[blog-post-brainstorming]]&lt;br /&gt;
* [[blog-post-formats]]&lt;br /&gt;
* [[blog-post-examples]]&lt;br /&gt;
* [[blog-post-feed-equivalence]]&lt;br /&gt;
* [[blog-description-format]] - how to describe a blog (as opposed to the individual entries, which is what we're doing here)&lt;br /&gt;
* [[xhtml-syndication]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Draft Specifications]]&lt;br /&gt;
[[Category:hAtom]]&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
Read the hAtom draft specification in additional &amp;lt;span id=&amp;quot;languages&amp;quot;&amp;gt;languages&amp;lt;/span&amp;gt;:&lt;br /&gt;
* [[hatom-fr|français]]&lt;br /&gt;
&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Christmas gifts]&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Unique gifts]&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Anniversary Gifts]&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Birthday Gifts]&lt;/div&gt;</summary>
		<author><name>Spicerider1</name></author>
	</entry>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=rel-tag&amp;diff=45305</id>
		<title>rel-tag</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=rel-tag&amp;diff=45305"/>
		<updated>2012-01-14T08:35:35Z</updated>

		<summary type="html">&lt;p&gt;Spicerider1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;entry-title&amp;gt;rel=&amp;quot;tag&amp;quot;&amp;lt;/entry-title&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
== Draft Specification 2005-01-10 ==&lt;br /&gt;
; Editors/Authors&lt;br /&gt;
:[http://tantek.com/ Tantek Çelik]&lt;br /&gt;
:[http://epeus.blogspot.com/ Kevin Marks]&lt;br /&gt;
&lt;br /&gt;
;Concept&lt;br /&gt;
:[http://powazek.com/ Derek Powazek]&lt;br /&gt;
&lt;br /&gt;
;short URL&lt;br /&gt;
:http://tr.im/reltag&lt;br /&gt;
&lt;br /&gt;
=== Copyright ===&lt;br /&gt;
{{MicroFormatCopyrightStatement2004}}&lt;br /&gt;
* [[User:Tantek|Tantek]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
* [[User:Kevin Marks|Kevin Marks]]: I release all my contributions to this specification into the public domain and I encourage the other authors to do so as well.&lt;br /&gt;
** When all authors/editors have done so, we can remove the MicroFormatCopyrightStatement template reference and replace it with the MicroFormatPublicDomainContributionStatement.&lt;br /&gt;
&lt;br /&gt;
=== Patents ===&lt;br /&gt;
{{MicroFormatPatentStatement}}&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
[[Rel-Tag]] is one of several [[MicroFormats]].  By adding &amp;lt;code&amp;gt;rel=&amp;amp;quot;tag&amp;amp;quot;&amp;lt;/code&amp;gt; to a hyperlink, a page indicates that the destination of that hyperlink is an author-designated &amp;amp;quot;tag&amp;amp;quot; (or keyword/subject) for 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,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;&amp;lt;a href=&amp;quot;http://technorati.com/tag/tech&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;tech&amp;lt;/a&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the author indicates that the page (or some portion of the page) has the tag &amp;amp;quot;tech&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
is the text of the tag, so &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;&amp;lt;a href=&amp;quot;http://technorati.com/tag/tech&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;fish&amp;lt;/a&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would indicate the tag &amp;amp;quot;tech&amp;amp;quot; rather than &amp;amp;quot;fish&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
rel=&amp;amp;quot;tag&amp;amp;quot; is specifically designed for &amp;amp;quot;tagging&amp;amp;quot; content, typically web pages (or portions thereof, like blog posts).&lt;br /&gt;
&lt;br /&gt;
rel=&amp;amp;quot;tag&amp;amp;quot; is NOT designed for &amp;amp;quot;tagging&amp;amp;quot; arbitrary URLs or external content.  There is demand for a general decentralized syntax for tagging URLs external to the current page, but this is not meant for that.  See [[xfolk|xFolk]] and [[hreview|hReview]] for ways to tag arbitrary URLs.&lt;br /&gt;
&lt;br /&gt;
If you need to define tags as part of a more specialized format,  rel=&amp;amp;quot;tag&amp;amp;quot; is the recommended way to do so, and [[xfolk|xFolk]], [[hreview|hReview]], [[hcard |hCard]], [[hcalendar|hCalendar]] and [[hrecipe|hRecipe]] all do this.&lt;br /&gt;
&lt;br /&gt;
== XMDP profile ==&lt;br /&gt;
See [[rel-tag-profile]].&lt;br /&gt;
&lt;br /&gt;
== Tag Spaces ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;/&amp;quot; character) contains the tag value. For example, the URI &amp;lt;source lang=html4strict&amp;gt;http://www.example.com/tags/foo&amp;lt;/source&amp;gt; contains the tag &amp;amp;quot;foo&amp;amp;quot;. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
''Need more formal language about comparison and extraction process.''&lt;br /&gt;
&lt;br /&gt;
The destination of a rel=&amp;amp;quot;tag&amp;amp;quot; 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. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;http://technorati.com/tag/tech &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is a URL for the tag &amp;amp;quot;tech&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;http://technorati.com/tag/tech?tag=fish#emu &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is still a URL for the tag &amp;amp;quot;tech&amp;amp;quot;, not &amp;amp;quot;fish&amp;amp;quot; or &amp;amp;quot;emu&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;  http://en.wikipedia.org/wiki/Technology &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trailing slashes in tag URLs are ignored, that is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;  http://technorati.com/tag/Technology/ &amp;lt;/source&amp;gt;&lt;br /&gt;
as a rel-tag URL is treated as:&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;  http://technorati.com/tag/Technology &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Encoding issues ==&lt;br /&gt;
Spaces can be encoded either as &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt;. Unicode characters are encoded as specified in [http://www.ietf.org/rfc/rfc3986.txt &amp;lt;nowiki&amp;gt;RFC 3986&amp;lt;/nowiki&amp;gt;]. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=html4strict&amp;gt;&amp;lt;a href=&amp;quot;http://technorati.com/tag/Sant%C3%A9+et+bien-%C3%AAtre&amp;quot; rel=&amp;quot;tag&amp;quot;&amp;gt;Santé et bien-être&amp;lt;/a&amp;gt; &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if using Wikipedia as a tagspace, as discussed above, you should use &amp;lt;code&amp;gt;%20&amp;lt;/code&amp;gt; as they remap '+' to &amp;lt;code&amp;gt;%2B&amp;lt;/code&amp;gt;, causing  a page with a plus sign in the title (which usually does not exist) to appear.&lt;br /&gt;
&lt;br /&gt;
== Tags Are Visible Metadata ==&lt;br /&gt;
&amp;lt;code&amp;gt;rel=&amp;amp;quot;tag&amp;amp;quot;&amp;lt;/code&amp;gt; hyperlinks are intended to be visible links on pages and posts.  This is in stark contrast to meta keywords (which were invisible and typically never revealed to readers), and thus is at least somewhat more resilient to the problems which plagued meta keywords.&lt;br /&gt;
&lt;br /&gt;
Making tag hyperlinks visible has the additional benefit of making it more obvious to readers if a page is abusing tag links, and thus providing more peer pressure for better behavior.  It also makes it more obvious to authors, who may not always be aware what invisible metadata is being generated on their behalf.&lt;br /&gt;
&lt;br /&gt;
As a result the invisible tag link syntax variant: &amp;lt;code&amp;gt;&amp;lt;link rel=&amp;amp;quot;tag&amp;amp;quot; href=&amp;amp;quot;...&amp;amp;quot; /&amp;gt;&amp;lt;/code&amp;gt; SHOULD NOT be supported by implementations.&lt;br /&gt;
&lt;br /&gt;
== Examples in the wild ==&lt;br /&gt;
This section is '''informative'''. The number of rel-tag examples in the wild has expanded far beyond the capacity of being kept inline in this specification. They have been moved to a [[rel-tag-examples-in-wild|separate page]].&lt;br /&gt;
&lt;br /&gt;
See [[rel-tag-examples-in-wild|rel-tag Examples in the wild]].&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
The following implementations have been developed which either generate or parse rel-tag links. If you have a rel-tag implementation, please add it to the '''top''' of this list. Once the list grows too big, we'll make a separate wiki page like [[rel-tag-implementations]].&lt;br /&gt;
&lt;br /&gt;
* [http://b2evolution.net b2evolution] A blog platform which generates rel-tag for all tags on blog posts (starting from v3.x).&lt;br /&gt;
* [http://www.textcube.org Textcube.org] makes a blogging tool, Textcube which generates rel-tag for tags on blog posts.&lt;br /&gt;
* [http://hashtags.org/ HashTags] tags Twitter posts, converting &amp;quot;#example&amp;quot; into a tag of &amp;quot;example&amp;quot;&lt;br /&gt;
* [http://ikiwiki.info ikiwiki] generates rel-tag for all tagged pages (as of version 2.6)&lt;br /&gt;
* [http://www.hubtag.com HubTag] helps users find a unique tag across the web for their event - eg. JohnAndBettysWeddingWimbledonMarch07&lt;br /&gt;
* [http://www.necctar.com Necctar] is a search engine exclusively based on tag microformat parsing and processing. Necctar uses tags entered by bloggers to index the world wide web&lt;br /&gt;
* Nutch has a [[rel-tag]] parser [http://www.mail-archive.com/nutch-commits@lucene.apache.org/msg01014.html committed to their svn repository].&lt;br /&gt;
* [http://www.webstandards.org/action/dwtf/microformats/ Dreamweaver Extension suite] from the [http://webstandards.org/ Web Standards Project] enables rel-tagging from within Dreamweaver 8.&lt;br /&gt;
* [http://scooch.gr0w.com/ Scooch] slide show creator allows authors to generate rel-tags and group slide shows by rel-tag via a list or cloud with tag usage count.&lt;br /&gt;
* The Freetag plugin for the [http://www.s9y.org Serendipity] blog software supports rel-tags on a per-entry basis, as well as inside of its tag clouds.  (The Freetag plugin is available inside of SPARTACUS)&lt;br /&gt;
* [http://placenamehere.com/TXP/pnh_mf/ pnh_mf] is a plugin for [http://textpattern.com/ Textpattern] that supports embedding rel-tags and other microformats in templates and blog posts. Written by [http://placenamehere.com/ Chris Casciano].&lt;br /&gt;
* [http://www.rainskit.com/blog/493/trutags-a-tagging-plugin-for-textpattern tru_tags] is a plugin for [http://textpattern.com/ Textpattern] that supports rel-tagging blog posts via the Keywords field.&lt;br /&gt;
* [http://clothesonline.info ClothesOnline] uses rel-tag for categorizing shops and brands, for example: [http://clothesonline.info/brands/canada-goose Canada Goose].&lt;br /&gt;
* [http://news.livejournal.com/86492.html?thread=24881884 LiveJournal] - see also [http://www.livejournal.com/support/faq.bml?cat=tags their FAQ regarding their tags support]&lt;br /&gt;
* [http://trac.labnotes.org/cgi-bin/trac.cgi/wiki/TagsLinks TagsLinks] Turn each tag into links that let you find related content on tagging services.&lt;br /&gt;
* [http://www.octofinder.com OctoFinder] uses rel-tag for all live news tag clouds.&lt;br /&gt;
* [http://dev.wp-plugins.org/wiki/BunnysTechnoratiTags Tag plugin for WordPress]&lt;br /&gt;
** Note that some sites using WordPress (http://microformatique.com/ for instance) are getting incorrect tags. The tag is ?cat=12 instead of the actual tag value.&lt;br /&gt;
* [http://noone.org/blog/tags/Tagging Tag plugin for Blosxom]&lt;br /&gt;
* Technorati first implemented rel-tag in its [http://technorati.com/tag/ Technorati Tags] service. Technorati indexes rel-tag tags.&lt;br /&gt;
* [http://consumingexperience.blogspot.com/2005/12/updated-multiple-word-technorati-tag.html Greasemonkey script for Firefox that generates tags for Blogger]&lt;br /&gt;
* [http://tools.microformatic.com/help/xhtml/rel-lint/ rel-lint] is a validation tool by [[User:DrewMcLellan|Drew McLellan]] that will validate existence of rel-tag attributes.&lt;br /&gt;
&lt;br /&gt;
== articles ==&lt;br /&gt;
This section is '''informative'''.&lt;br /&gt;
&lt;br /&gt;
Articles about rel-tag, most recent first. When this section gets too big, we can move it to [[rel-tag-articles]].&lt;br /&gt;
* (undated) [http://reference.sitepoint.com/html/rel-mf#rel__tag SitePoint reference: rel- Microformats / tag] by Ian Lloyd&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
=== Normative References ===&lt;br /&gt;
* [http://www.w3.org/TR/REC-html40/ HTML 4]&lt;br /&gt;
* [http://www.w3.org/TR/xhtml1/ XHTML 1]&lt;br /&gt;
* [http://gmpg.org/xmdp/ XMDP]&lt;br /&gt;
* RFC 3986 specifies URL syntax.  Section 3.3 specifies URL paths and path segments.&lt;br /&gt;
&lt;br /&gt;
=== Informative References ===&lt;br /&gt;
* [[hreview|hReview]] uses rel-tag for tags and scalar tags&lt;br /&gt;
* [[xfolk|xFolk]] uses rel-tag to build a distributed remote resource tagging construct&lt;br /&gt;
* [http://developers.technorati.com/wiki/attentionxml Attention.XML] uses rel-tag for reader tagging of pages, posts, feeds&lt;br /&gt;
* [[hcard|hCard]] can use rel-tag for categories&lt;br /&gt;
* [[hcalendar|hCalendar]] can use rel-tag for categories&lt;br /&gt;
* [http://technorati.com/help/tags.html Using Technorati Tags]&lt;br /&gt;
* Contributed from http://developers.technorati.com/wiki/RelTag&lt;br /&gt;
* [http://microformatique.com/?p=61 Know your rel-tag] at microformatique.com&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
* Feedback is encouraged on the [[rel-tag-feedback]] page.&lt;br /&gt;
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].&lt;br /&gt;
* History: [http://www.powazek.com/2005/07/000532.html How Tags Happened at Technorati] by [http://www.powazek.com/ Derek Powazek]&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
* If you have any questions about rel-tag, check the [[rel-faq|rel FAQ]] first for general rel attribute questions, then check the [[rel-tag-faq|rel-tag FAQ]], and then if you don't find answers, ask your question on the [http://microformats.org/discuss microformats-discuss] mailing list.&lt;br /&gt;
&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Christmas gifts]&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Unique gifts]&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Anniversary Gifts]&lt;br /&gt;
*[http://www.paintedsouvenirs.com/ Birthday Gifts]&lt;br /&gt;
&lt;br /&gt;
==Related pages==&lt;br /&gt;
{{rel-tag-related-pages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:rel-tag]]&lt;/div&gt;</summary>
		<author><name>Spicerider1</name></author>
	</entry>
</feed>