Atom 1.0
What goes wrong in Atom 1.0
The 10 errors this corpus records against Atom 1.0 documents, keyed by the message your parser printed. Nothing here is written for this page — each error declares the formats it bites, and this is that declaration read the other way round.
Start with the message you were given
Every entry below states the message our validator emits, verbatim, and a test asserts it still does. If you are holding a broken document rather than a question, RSS & Atom feed validator will tell you which of these you have.Parse errors · 8
These stop the document being read at all. Nothing downstream sees a file with one of them, because it is not XML.
- Unescaped ampersand (EntityRef: expecting ';')
EntityRef: expecting ';' (line 2)A bare & appeared in content. XML reads it as the start of an entity reference and expects a name and a semicolon. - Entity is not defined
Entity 'nbsp' not defined (line 1)An HTML entity was used in XML. Only five are predefined; anything else must be declared in a DTD or written as a numeric character reference. - Document is empty
Document is empty (line 1)Nothing arrived at all. Almost always a transport problem — a 204, a dropped connection, or a fetch that succeeded against the wrong URL. - Unsupported encoding
Unsupported encoding: UTF-9 (line 1)The declaration names an encoding the parser cannot decode — a typo, a vendor-specific label, or a charset the build of libxml2 was not compiled with. - Sequence ']]>' not allowed in content
Sequence ']]>' not allowed in content (line 2)The three characters ]]> are reserved as the CDATA terminator and cannot appear literally in element content, even outside a CDATA section. - Malformed declaration expecting version
Malformed declaration expecting version (line 1)The document opens with <?xml but no version attribute. Version is the one part of the declaration that is not optional, and it must come first. - CData section not finished
CData section not finished (line 3)A CDATA section was opened and never closed with ]]>, so the rest of the document — closing tags included — was read as literal text inside it. - CharRef: invalid decimal value
CharRef: invalid decimal value (line 2)A numeric character reference was opened with &# and never closed with a semicolon, so the parser read past the digits into text that is not a number.
Schema errors · 2
These appear only once a schema is applied. A document can be perfectly well-formed and fail every one of them.
- Missing child element(s)
Element 'order': Missing child element(s). Expected is ( line ). (line 2)The element ended before its content model was satisfied. The schema names what it was still waiting for, which makes this the most actionable schema error. - Not a valid value of the atomic type
Element 'issued': '31/01/2026' is not a valid value of the atomic type 'xs:date'. (line 4)The element's text does not fit its declared datatype. Dates are the usual culprit, because XSD accepts exactly one format and humans write several.
Where these land
The elements of a Atom 1.0 document, each with the rules it has to follow and a broken and a fixed example that were run.
- <feed>The root element of an Atom document, and the one place the specification names three children as required rather than recommended.
- <id>A permanent, universally unique IRI for the feed or an entry. Required on both, and the element Atom is strictest about.
- <title>The human-readable name of a feed or entry, carrying a type attribute that says how to interpret its content.
- <updated>When a feed or entry last changed meaningfully, as a strict RFC 3339 timestamp — the other half of the date confusion between Atom and RSS.
- <entry>One item in an Atom feed, with the same three required children as the feed itself and an author requirement it can inherit.
- <link>A typed reference from a feed or entry to somewhere else — an empty element whose URL is in href, unlike RSS's <link>.
- <author>A person construct naming who wrote the feed or an entry — required at one level or the other, which is the rule most feeds break.
- <content>The entry's body — text, escaped HTML, inline XHTML, or a src attribute pointing elsewhere entirely.
- <summary>A short description of an entry — optional most of the time, and required exactly when the content is remote or not text.
- <published>When an entry first appeared, as distinct from when it last changed — the element RSS has no equivalent for.
Back to Atom 1.0 — root element, namespaces, constraints and a worked example.
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.