Atom Syndication Format extensions

Note: This is kind of old document, not updated since 2018 and still mostly in a draft state, but I think it may be useful for someone.

IETF RFCs

The Atom “deleted-entry” Element

Adds mechanisms to the Atom Syndication Format that publishers of Atom Feed and Entry documents can use to explicitly identify Atom entries that have been removed.

Uses prefix at: to indicate namespace http://purl.org/atompub/tombstones/1.0.

Extension Type Description
at:deleted-entry element Represents an Atom Entry that has been removed.
at:by element Identifies the entity that removed the entry.
at:comment element Provides additional, language-sensitive information about the deletion operation.

Atom License Extension

Defines an extension to the Atom Syndication Format for describing licenses associated with Atom feeds and entries.

Extension Type Description
license link relation Associates licenses with a feed or entry.

The Atom Publishing Protocol

The Atom Publishing Protocol (AtomPub) is an application-level protocol for publishing and editing Web resources.

Uses prefix app: to indicate namespace http://www.w3.org/2007/app.

Extension Type Description
app:control element
app:draft element Represents a request by the client to control the visibility of a Member Resource.
app:edited element Indicates the last time an Entry was edited..
edit link relation Refers to a resource that can be used to edit the
edit-media link relation Refers to a resource that can be used to edit media associated with the link’s context.

Atom Threading Extensions

Presents a mechanism that allows feeds publishers to express threaded discussions within the Atom Syndication Format.

Uses prefix thr: to indicate namespace http://purl.org/syndication/thread/1.0.

Extension Type Description
thr:count attribute (for atom:link[@rel='replies']) Provides a hint to clients as to the total number of replies contained by the linked resource.
thr:in-reply-to element Indicates that an entry is a response to another resource.
thr:total element Indicates the total number of unique responses to an entry known to the publisher.
thr:updated attribute (for atom:link[@rel='replies']) Provides a hint to clients as to the date and time of the most recently updated reply contained by the linked resource.
replies link relation References a resource where responses to an entry may be found.

Feed Paging and Archiving

Defines three types of syndicated Web feeds that enable publication of entries across one or more feed documents.

Uses prefix fh: to indicate namespace http://purl.org/syndication/history/1.0.

Extension Type Description
fh:archive element Indicates that the feed document it occurs in is an archived feed.
fh:complete element Indicates that the feed document it occurs in is a complete representation of the logical feed’s entries.
current link relation Refers to the feed document containing the most recent entries in the feed.
first link relation Refers to the furthest preceding document in a series of documents.
last link relation Refers to the furthest following document in a series of documents.
next link relation Refers to the immediately following document in a series of documents.
next-archive link relation Refers to the immediately following archive document.
previous link relation Refers to the immediately preceding document in a series of documents.
prev-archive link relation Refers to the immediately preceding archive document.

Resource-Oriented Lightweight Information Exchange

Defines a resource-oriented approach for security automation information publication, discovery, and sharing.

Uses prefix rolie: to indicate namespace urn:ietf:params:xml:ns:rolie-1.0.

Extension Type Description
rolie:format element Describes the data model used to express the information referenced in the atom:content element.
rolie:property element Provides a way to associate a name/value pair of categorical information.

IETF Internet Drafts

Disclaimer:

It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

The Atom Audience Extension

Defines elements identifying an intended redistribution target for the entry.

Extension Type
atom:to element
atom:cc element
atom:bcc element

Atom Bidirectional Attribute

Adds a new attribute to the Atom Syndication Format used to indicate the base directionality of directionally-neutral characters.

Extension Type Description
atom:dir attribute (common) Specifies the base direction of directionally-neutral text.

Atom Cross-posting Extensions

In order to increase content visibility, many publishers are now duplicating their content or a summary thereof on other sites. The document describes an extension to the Atom syndication format for declaring such duplicates such that feed consumers which see both may detect this usage.

Uses prefix crosspost: to indicate namespace http://purl.org/syndication/cross-posting.

Extension Type Description
crosspost:source element Indicates that the corresponding entry is a secondary duplicate and that the entry described by its attributes is the corresponding primary version.
crosspost:target element Indicates that the corresponding entry is a primary version and that the entry described by its attributes is a secondary duplicate.

Adds additional attributes to the Atom Syndication Format link and content elements that may be used to express additional metadata about linked resources.

Extension Type Description
atom:accessed attribute (for atom:content | atom:link) Specifies the most recent date and time when the resource was accessed by the producer of the Atom document.
atom:etag attribute (for atom:content | atom:link) Specifies an Entity Tag for the resource.
atom:hash attribute (for atom:content | atom:link) Specifies a whitespace-delimited list of hash digest values calculated over the resource.
atom:modified attribute (for atom:content | atom:link) Specifies the date and time when the resource was last modified.

Presents a mechanism that allows feed publishers to express preferences over how a consumer processes Atom links and Content-By-Reference.

Uses prefix x: to indicate namespace http://purl.org/atompub/nofollow/1.0.

Extension Type Description
x:archive attribute (for atom:content[@src] | atom:link) Indicates whether applications should archive the targets of links and content references.
x:follow attribute (for atom:content[@src] | atom:link) Indicates whether applications should automatically attempt to follow links and referenced content.
x:index attribute (for atom:content[@src] | atom:link) Indicates whether applications should index links and referenced content.

Defines a link relation that enables an Atom document to point to a venue for multi-party discussion of the document or its primary topic.

Extension Type Description
discuss link relation References an Internet resource where multi-party discussion of the feed, entry, or source can occur.

Atom Metadata Expiration: Specifying Expiration Timestamps for Atom Feed and Entry metadata

Presents a mechanism that allows feed publishers to express maximum age and expiration properties for information content within an Atom entry.

Uses prefix age: to indicate namespace http://purl.org/atompub/age/1.0.

Extension Type Description
age:expires element Indicates a precise moment in time after which the information content of the containing element MUST be considered to have “expired”.
age:max-age element Indicates a maximum age of the information content after which the information content MUST be considered to have “expired”.

Atom Publishing Protocol - Blog Publishing Controls

Introduces weblog specific publishing control extensions for use with the Atom Publishing Protocol pub:control mechanism.

Uses prefix blog: to indicate namespace http://purl.org/atompub/blogcontrols/1.0.

Extension Type Description
blog:comments element Specifies whether to enable comments for the entry.
blog:comments-notify element Specifies whether or not notifications should be sent when new comments are posted.
blog:enable element Specifies whether specific features should be enabled for the entry.
blog:notify element Specifies a collection of endpoints that should be notified upon the creation or update of the entry.
blog:pingbacks element Specifies whether to enable pingbacks for the entry.
blog:pingbacks-notify element Specifies whether or not notifications should be sent when new pingbacks are posted.
blog:plugin element Specifies an IRI identifying a plugin to enable for the post.
blog:private element Indicates that a weblog entry should only be made available to a limited audience.
blog:scheduled element Specifies a date and time that indicates when the posted entry should be published.
blog:text-encoding element Specifies an IRI identifying a text-encoding scheme to apply to the post.
blog:trackbacks element Specifies whether to enable trackbacks for the entry.
blog:trackbacks-notify element Specifies whether or not notifications should be sent when new trackbacks are posted.

Atom Ranking Extensions

Defines an Atom Syndication Format extension for numerically ranking entries within a syndication feed.

Uses prefix re: to indicate namespace http://purl.org/atompub/rank/1.0.

Extension Type Description
re:rank element Conveys a numeric rank associated with an entry.

Atom Syndication Format Person Extensions

Defines extensions to the Atom Syndication Format Person Construct.

Uses prefix pe: to indicate namespace http://purl.org/atompub/person-extensions/1.0.

Extension Type Description
pe:identity element Associates an identity token with an author or contributor.
pe:profile element Rich metadata descriptions about an individual author or contributor.
pe:role element Associates a specific contribution role with an author or contributor.

Atom Syndication Format Revision Tracking

Defines metadata extensions for use with the Atom Syndication Format to track revisions of entries.

Uses prefix ar: to indicate namespace http://purl.org/atompub/revision/1.0.

Extension Type Description
ar:by element Identifies the person or entity that removed the entry from the feed.
ar:comment element Provides the equivalent to editorial notes.
ar:deleted-entry element Represents an Atom Entry that has been removed from the feed.
ar:host element Either the IP Address or Domain host name from which the person created or modified the entry.
ar:revision element Identifies a “revision number” for an entry.
ar:when element Specifies the instant the entry was deleted.
current-revision link relation Specifies the URI of an Atom Entry Document representing the current version of the entry.
diff link relation Identifies a resource describing the deltas between this revision of the entry and the previous revision.
history link relation Identifies a resource describing the revision history of the entry.
initial-revision link relation Specifies the URI of an Atom Entry Document representing the initial version of the entry.
next-revision link relation Specifies the URI of an Atom Entry Document representing the subsequent version of the entry.
prior-revision link relation Specifies the URI of an Atom Entry Document representing the previous version of the entry.
this-revision link relation Specifies the URI of an Atom Entry Document representing this version of the entry.

AtomTriples: Embedding RDF Statements in Atom

Describes AtomTriples, a set of Atom extension elements for embedding RDF statements in Atom documents (both element and feed), and declaring how they can be derived from existing content.

Uses prefix at: to indicate namespace http://purl.org/syndication/atomtriples/1.

Extension Type Description
at:entrymap element Indicates mappings for entry-level element contents to statements.
at:feedmap element Indicates mappings for feed-level element contents to statements.
at:map element Indicates how an element in a given context maps to RDF statementsentry.
at:md element Contains any number of RDF statements serialised as RDF/XML.

FIQL: The Feed Item Query Language

The Feed Item Query Language is a simple but flexible, URI-friendly syntax for expressing filters across the entries in a Web feed.

Uses prefix fq: to indicate namespace http://purl.org/syndication/query.

Extension Type Description
fq:index element Indicates a selector that is available for use in queries.
fq:interface element Describes an interface that processes queries for the feed it occurs in.

Hierarchy Relations for Atom

Defines link relations for hierarchical navigation among Atom feeds and entries.

Extension Type Description
down link relation References a resource where child entries of an entry may be found.
up link relation References a resource where parent entries of an entry or a feed may be found.

HTTP Cache Channels

Defines “cache channels” to propagate out-of-band events from HTTP origin servers (or their delegates) to subscribing caches.

Uses prefix cc: to indicate namespace http://purl.org/syndication/cache-channel.

Extension Type Description
cc:lifetime element Indicates an Atom cache channel’s lifetime.
cc:precision element Indicates an Atom cache channel’s precision.

In-lining Extensions for Atom

Defines mechanisms for in-lining representations of linked Atom resources.

Uses prefix ae: to indicate namespace http://purl.org/atom/ext/.

Extension Type Description
ae:inline element Contains an approximate representation of the linked resource.

Representing phonetics for Japanese names in Atom feeds

Introduces an attribute for representing Japanese phonetics within feeds of the Atom Syndication Format.

Uses prefix jepa: to indicate namespace http://www.jepa.or.jp/xmlns/atomPhonetics/1.0.

Extension Type Description
jepa:phonetics attribute (for atom:name | atom:subtitle | atom:title) Represents the phonetics for a Japanese author name or article title.

OpenSearch specifications

OpenSearch 1.1 Draft 6 (response elements)

The OpenSearch response elements can be used by search engines to augment existing XML formats with search-related metadata.

Uses prefix opensearch: to indicate namespace http://a9.com/-/spec/opensearch/1.1/.

OpenSearch Advertisement extension

The OpenSearch Advertisement Extension allows search engines to include advertisements with search results.

Uses prefix ad: to indicate namespace http://a9.com/-/opensearch/extensions/advertisement/1.0/.

OpenSearch Commerce extension

The OpenSearch Commerce Extension allows search engines to include information about previewing and purchasing digital commerce items in search results.

Uses prefix com: to indicate namespace http://a9.com/-/opensearch/extensions/commerce/1.0/.

OpenSearch Mobile extension

The purpose of the OpenSearch Mobile extensions is to provide a standard mechanism for querying mobile-centric and PC-centric data providers and displaying results relevant for mobile subscribers and devices.

Uses prefix m: to indicate namespace http://a9.com/-/opensearch/extensions/mobile/1.0/.

OpenSearch Relevance extension

The OpenSearch Relevance Extension allows search engines indicate a relative score in a particular domain for an individual search result.

Uses prefix relevance: to indicate namespace http://a9.com/-/opensearch/extensions/relevance/1.0/.

OpenSearch Spelling extension

The OpenSearch Spelling Extension allows search engines to include information about a spelling suggestion in the search results.

Uses prefix spell: to indicate namespace http://a9.com/-/opensearch/extensions/spelling/1.0/.

Other specifications

Atom Activity Streams 1.0

An XML format that allows activities on social objects to be expressed within the Atom Syndication Format.

Uses prefix activity: to indicate namespace http://activitystrea.ms/spec/1.0/.

Extension Type Description
activity:object element Identifies the primary object of the activity.
activity:object-type element Identifies the type of object.
activity:target element Identifies the object to which the activity was performed.
activity:verb element Identifies the action of the activity.

Atom Vocabulary for Wiki Metadata

Specifies Extension elements and link relations for the Atom Syndication Format useful for description of metadata specific to the wiki engines.

Uses prefix wiki: to indicate namespace https://wandystan.eu/ns/AtomWiki/0.3/.

Link relations must be preceded with https://wandystan.eu/ns/AtomWiki/0.3/.

Extension Type Description
wiki:host element The host associated with the person that edited the wiki page.
wiki:revision element Indicates that the entry it occurs in represents a revision of a wiki page.
diff link relation Refers to the resource describing the difference between a previous and the current revision of the page.
first-revision link relation Refers to the earliest revision of the page.
history link relation Refers to the resource describing the revision history of the page.
last-revision link relation Refers to the latest revision of the page.
next-revision link relation Refers to the next revision of the page.
prev-revision link relation Refers to the previous revision of the page.
revision-of link relation Refers to the page that the entry is a revision of.

GeoRSS Simple

GeoRSS was designed as a lightweight, community driven way to extend existing feeds with geographic information.

GeoRSS can be used both in Atom and RSS 2.0 feeds, and also as an RDF ontology.

Uses prefix georss: to indicate namespace http://www.georss.org/georss.

Extension Type Description
georss:box element A bounding box is a rectangular region, often used to define the extents of a map or a rough area of interest.
georss:elev element Contains common GPS elevation readings, i.e. height in meters from the WGS84 ellipsoid.
georss:featurename element Feature Name.
georss:featuretypetag element Feature Type.
georss:floor element Contains the floor number of a building.
georss:line element A line.
georss:point element A point.
georss:polygon element A polygon.
georss:radius element Indicates the size in meters of a radius or buffer around the geometry object.
georss:relationshiptag element Relationship tag.
georss:where element Signals geographic content – either in GeoRSS Simple or GML.

Google Data Protocol

The Google Data Protocol provides a secure means for external developers to write new applications that let end users access and update the data stored by many Google products.

Uses prefix gd: to indicate namespace http://schemas.google.com/g/2005.

Extension Type Description
gd:additionalName element Specifies additional (eg. middle) name of the person.
gd:comments element Contains a comments feed for the enclosing entry.
gd:deleted element A marker element that, when present, indicates the containing entry is deleted.
gd:country element Country name along with optional country code.
gd:email element An email address associated with the containing entity.
gd:etag attribute Identifier that specifies a particular version of a particular entry.
gd:entryLink element Represents a logically nested entry.
gd:extendedProperty element Allows you to store a limited amount of custom data as an auxiliary property of the enclosing entity.
gd:familyName element Specifies family name of the person.
gd:feedLink element Represents a logically nested feed.
gd:fields attribute Response filter.
gd:geoPt element (deprecated) A geographical location (latitude, longitude, elevation).
gd:im element An instant messaging address associated with the containing entity.
gd:image element (undocumented, found in Blogspot feeds)
gd:givenName element Specifies given name of the person.
gd:money element Specifies an amount of money in a particular currency.
gd:name element Allows storing person’s name in a structured way.
gd:organization element An organization, typically associated with a contact.
gd:orgDepartment element Describes a department within an organization.
gd:orgJobDescription element Describes a job within an organization.
gd:orgName element The name of the organization.
gd:orgSymbol element Provides a symbol of an organization.
gd:orgTitle element The title of a person within an organization.
gd:originalEvent element Equivalent to the Recurrence ID property specified in section 4.8.4.4 of RFC 2445.
gd:phoneNumber element A phone number associated with the containing entity.
gd:postalAddress element A postal address.
gd:rating element Represents a numeric rating of the enclosing entity, such as a comment.
gd:recurrence element Represents the dates and times when a recurring event takes place.
gd:recurrenceException element Represents an event that’s an exception to a recurring event.
gd:reminder element A time interval.
gd:resourceId element An opaque resource identifier, distinct from atom:id as it need not be a valid URI
gd:structuredPostalAddress element Postal address split into components.
gd:when element Represents a period of time or an instant.
gd:where element A place (such as an event location) associated with the containing entity.
gd:who element A person associated with the containing entity.

Mastodon protocol extensions

Uses prefix mastodon: to indicate namespace http://mastodon.social/schema/1.0.

Extension Type Description
mastodon:scope element Specifies Mastodon account or status scope.

OData Atom Format Version 4.0

The Open Data Protocol (OData) for representing and interacting with structured content is comprised of a set of specifications. The core specification for the protocol is in OData Version 4.0 Part 1: Protocol. This document extends the core specification by defining representations for OData requests and responses using an Atom format.

TODO: Add summary of extensions defined by the specification.

OPDS Catalog 1.1

The Open Publication Distribution System (OPDS) Catalog format is a syndication format for electronic publications based on Atom and HTTP. OPDS Catalogs enable the aggregation, distribution, discovery, and acquisition of electronic publications.

Uses prefix odps: to indicate namespace http://opds-spec.org/2010/catalog.

Link relations must be preceded with http://opds-spec.org/.

Extension Type Description
opds:activeFacet attribute (for atom:link[@rel='http://opds-spec.org/facet']) Indicates that a Facet is active.
opds:facetGroup attribute (for atom:link[@rel='http://opds-spec.org/facet']) Groups Facets together.
opds:price element Represents the acquisition price in a particular currency of an individual Publication in a particular format from a particular provider.
opds:indirectAcquisition element Represents these secondary media types that the client can expect to acquire if they follow the Acquisition Link.
acquisition link relation A generic relation that indicates that the complete representation of the content Resource may be retrieved.
acquisition/open-access link relation Indicates that the complete representation of the Resource can be retrieved without any requirement, which includes payment and registration.
acquisition/borrow link relation Indicates that the complete representation of the content Resource may be retrieved as part of a lending transaction.
acquisition/buy link relation Indicates that the complete representation of the content Resource may be retrieved as part of a purchase.
acquisition/sample link relation Indicates that a subset of the content Resource may be retrieved.
acquisition/subscribe link relation Indicates that the complete representation of the content Resource may be retrieved as part of a subscription.
crawlable link relation An optimized Acquisition Feed.
facet link relation An Acquisition Feed with a subset or an alternate order of the Publications listed.
featured link relation An Acquisition Feed with featured OPDS Catalog Entries.
image link relation A graphical Resource associated to the OPDS Catalog Entry.
image/thumbnail link relation A reduced-size version of a graphical Resource associated to the OPS Catalog Entry.
recommended link relation An Acquisition Feed with recommended OPDS Catalog Entries.
shelf link relation A Resource that includes a user’s existing set of Acquired Content, which MAY be represented as an OPDS Catalog.
sort/new link relation An Acquisition Feed with newly released OPDS Catalog Entries.
sort/popular link relation An Acquisition Feed with popular OPDS Catalog Entries.
subscriptions link relation A Resource that includes a user’s set of subscriptions, which MAY be represented as an OPDS Catalog.

ORE User Guide - Resource Map Implementation in Atom

Details an OAI-ORE Resource Map serialization based on the Atom syndication format, in which each Resource Map is expressed as an Atom entry.

Uses prefix oreatom: to indicate namespace http://www.openarchives.org/ore/atom/.

Extension Type Description
oreatom:triples element Allows to embed RDF statements.

OStatus 1.0 Draft 2

OStatus is a minimal specification for distributed status updates or microblogging.

Uses prefix ostatus: to indicate namespace http://ostatus.org/schema/1.0/.

Extension Type Description
ostatus:attention link relation When an update is directed to the attention of someone, or mentions someone, this link stores that user’s URI.
ostatus:conversation link relation When an update is part of a distributed conversation, this is the URI of that conversation.
ostatus:conversation element (undocumented, found in Mastodon and GNU Social feeds)
ostatus:object-type attribute (undocumented, found in Mastodon and GNU Social feeds)

Extensions found in the wild

Feedburner extensions

Use prefix feedburner: to indicate namespace http://rssnamespace.org/feedburner/ext/1.0.

Extension Type
feedburner:info element
feedburner:origLink element

Found in Feedburner feeds.

GNU Social extensions

Use prefix statusnet: to indicate namespace http://status.net/schema/api/1/.

Extension Type
statusnet:notice_info element
statusnet:profile_info element
followers element
status_net element

Found in GNU Social feeds.

Media size attributes

Use prefix media: to indicate namespace http://purl.org/syndication/atommedia.

Extension Type
media:height attribute for atom:link
media:width attribute for atom:link

Found in:

YouTube channel and video identifiers

Use prefix yt: to indicate namespace http://www.youtube.com/xml/schemas/2015.

Extension Type
yt:channelId element
yt:videoId element

Found in YouTube channel feeds.

Non-Atom extensions found in the wild in Atom feeds

Media RSS Specification, Version 1.5.1

An RSS module that supplements the <enclosure> element capabilities of RSS 2.0 to allow for more robust media syndication.

Uses prefix media: to indicate namespace http://search.yahoo.com/mrss/.

Found in YouTube channel feeds.

Portable Contacts

The Portable Contacts specification is designed to make it easier for developers to give their users a secure way to access the address books and friends lists they have built up all over the web.

Feeds use prefix poco: to indicate namespace http://portablecontacts.net/spec/1.0.

Found in: