Skip to main content
XMLDir

Search 309 pages — tools, formats, elements, namespaces, directory, comparisons, XPath, datatypes, glossary, parse errors, schema errors, use cases, blog and product.

RSS 2.0

<item>

One entry in the feed. Every child is optional except that it must have a title or a description.

The specification is unusually permissive here: all of an item's elements are optional, provided at least one of <title> and <description> is present. Everything a reader relies on — a link, an identifier, a date — is technically optional, which is exactly why feeds in the wild are missing them.

In practice an item wants four things: a title, a link, a stable <guid>, and an RFC 822 <pubDate>. Anything less and readers will either show duplicates or order the feed wrongly.

Format
RSS 2.0
Namespace
None — RSS elements are unqualified
Parent
<channel>
How many
Any number per <channel>, including none.

Cardinality and constraints

Any number per <channel>, including none.

  • At least one of <title> and <description>.
  • Items are ordered as written; readers are not required to sort by date.
  • A feed with no items is valid.

What our validator does

Items are counted, checked for the title-or-description rule, and their identifiers compared for duplicates. A channel with no items is a warning rather than an error.

Broken and fixed

Both documents below are well-formed XML — that is the point of this corpus — and both are run through the validator on every test run. The verdicts here are what it returned, not what we expect it to.

broken
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Example</title>
    <link>https://example.com/</link>
    <description>Notes from the example farm.</description>
    <item><guid>https://example.com/egg</guid></item>
  </channel>
</rss>
entry 1 has neither <title> nor <description>; RSS requires at least one.
fixed
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Example</title>
    <link>https://example.com/</link>
    <description>Notes from the example farm.</description>
    <atom:link href="https://example.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Hen lays egg</title>
      <link>https://example.com/egg</link>
      <guid>https://example.com/egg</guid>
      <pubDate>Mon, 10 Aug 2026 09:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
No errors. Warnings may remain — a conforming feed can still be missing a self link — but nothing here is wrong.

Get started

Bring order to the XML your team can't afford to ignore.

Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.