Atom Uses XML’s Built-in Xml:lang Attribute
The RSS 2.0 specification is copyrighted by Harvard University and is frozen. No important adjustments could be made (although the specification is below a Artistic Commons licence) and it is intended that future work be achieved beneath a distinct title; Atom is one example of such work.
Atom 1.0 is specified in RFC 4287 (HTML Version); it represents the consensus of the Atompub Working Group throughout the IETF, as reviewed and accredited by the IETF community and the Web Engineering Steering Group. The specification is structured in such a means that the IETF could conceivably challenge additional variations or revisions of this specification without breaking present deployments, although there isn’t any dedication, nor currently expressed curiosity, in doing so.
See the Extensibility part under for how every could be prolonged with out altering the underlying specifications.
There are two popular protocols widely used with RSS, MetaWeblog and Blogger. There are frequent stories of problems with interoperability and feature shortcomings.
The Atompub working group is within the late phases of creating the Atom Publishing Protocol, which is intently built-in with the Atom feed format and is predicated on the experience with the prevailing protocols.
RSS 2.0 requires feed-degree title, hyperlink, and description. RSS 2.0 doesn’t require that any of the fields of individual gadgets in a feed be present.
Atom 1.0 requires that each feeds and entries embrace a title (which could also be empty), a unique identifier, and a final-up to date timestamp.
RSS 2.Zero might comprise either plain textual content or escaped HTML, with no approach to point which of the 2 is supplied. Escaped HTML is ugly (for instance, the string AT&T would be expressed as AT&T) and has been a source of problem for implementors. The content material model for titles is underspecified; titles containing angle brackets or ampersands might be misinterpreted by a big fraction of readers regardless of how they are represented. The RSS 2.Zero content mannequin does not permit actual nicely-formed XML markup, which reduces the re-usability of content material.
Atom has a rigorously-designed payload container. Content material have to be explicitly labeled as considered one of:
– plain textual content, with no markup (the default)
– escaped HTML, as generally used with RSS 2.0
– effectively-formed XHTML markup
– some other XML vocabulary
– base64-encoded binary content
– a pointer to Web content not included in the feed
There is no such thing as a assure that the recipient will be able to do anything helpful with arbitrary XML or binary content material. Nevertheless, it’s assured that recipients will not inappropriately try to process content material they can’t.
Full or Partial Content material
RSS 2.Zero has a ingredient which is often used to include either the total textual content of an entry or only a synopsis (typically in the identical feed), and which typically is absent. There is no such thing as a built-in approach to signal whether or not the contents are complete.
Atom has separate
RSS autodiscovery has been applied a number of instances in alternative ways, usually relies on unregistered (thus invalid) utility/rss+xml MIME type, and has by no means been standardized. That is a common supply of difficulty for non-technical customers.
Atom standardizes autodiscovery. The application/atom+xml MIME Sort is registered with IANA. Additionally, Atom feeds comprise a “self” pointer, so a newsreader can auto-subscribe given solely the contents of the feed, based mostly on Web-standard dispatching methods.
Extraction and Aggregation
The only acknowledged type of RSS 2.Zero is an document.
Atom 1.0 permits standalone Atom Entry documents; these may very well be transferred using any network protocol, for instance XMPP. Atom also has help for aggregated feeds, allowing entries to point again to the feed they came from when they’re included into different feeds.
Differences of Degree
RSS 2.Zero just isn’t in an XML namespace however could contain components from other XML namespaces. There isn’t any central place the place one can find out about many common extensions, similar to dc:creator and content material:encoded.
Atom 1.0 is in an XML namespace and should contain parts or attributes from different XML namespaces. There are specific guidelines on find out how to interpret extension components. Additionally, there will likely be an IANA managed listing of values. Lastly, Atom 1.0 offers really useful extension factors and steering on learn how to interpret simple extensions.
RSS 2.Zero does not specify the dealing with of relative URI references. Totally different feed readers implement differing heuristics for his or her interpretation. There isn’t any interoperability. In observe, relative URI references can’t be utilized in RSS feeds.
Atom 1.0 specifies use of the XML’s constructed-in xml:base attribute for allowing the use of relative references.
Software Libraries (Parsing, Generating)
Both RSS 2.Zero and Atom 1.0 feeds could be accessed via normal HTTP consumer libraries. Standard caching methods work effectively and are encouraged. Template-driven creation of both formats is quite practical.
Libraries for processing RSS 2.Zero:
Libraries for processing Atom 1.0:
– Apache Abdera
For identification of the language utilized in feeds, RSS 2.0 has its own component, whereas Atom uses XML’s constructed-in xml:lang attribute.
RSS 2.0 can be encrypted or signed like some other net content material, if handled as a bag of bits.
Guidelines for making use of normal XML Encryption and XML Digital Signature on entries are included in Atom 1.0. Alternatively, the feed may be encrypted or signed, like RSS 2.Zero, as a bag of bits.
RSS 2.0 offers the flexibility to specify e-mail addresses for a feed’s and , and for an item’s . Some publishers desire not to share electronic mail addresses, and use from the dublin core extension as an alternative.
Atom 1.0 provides and elements at each the feed and entry level. These elements should comprise a reputation, and still have optionally available email and URI sub-components.
RSS 2.Zero categories have two elements: label and area.
Atom 1.0 classes have three, with the addition of optionally available human-readable title.
The RSS 2.0 specification contains no schema.
Atom 1.0 features a (non-normative) ISO-Customary RelaxNG schema, to assist those who need to test the validity of data advertised as Atom 1.0. Other schema formats will be generated from the RelaxNG schema.
Sample RSS and Atom Feeds
Element Comparison Table
Atom 1.0 defines 21 parts; RSS 2.Zero, 30. Many of the RSS 2.0 parts missing in Atom 1.0 are both people who batman riddler t shirt jacket have been never broadly applied in apply, or the capabilities are supplied in different methods.