Feed twin - Atom 1.0
The same four articles as Atom 1.0: tag: ids identical to the RSS twin, RFC 3339 published and updated timestamps, escaped HTML content, and both alternate and self links. For diffing an RSS-to-Atom converter against a known answer.
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title>Example Dispatch</title>
<subtitle>A fictional publication shipped in three feed formats with identical content.</subtitle>
<id>tag:example.com,2026:dispatch</id>
<updated>2026-01-01T12:00:00+00:00</updated>
<link rel="alternate" type="text/html" href="https://www.example.com/blog/"/>
<link rel="self" type="application/atom+xml" href="https://www.example.com/feeds/dispatch.atom"/>
<author><name>A. Sample</name></author>
<entry>
<title>Sitemap shards, explained</title>
<link rel="alternate" type="text/html" href="https://www.example.com/blog/sitemap-shards-explained"/>
<id>tag:example.com,2026:dispatch-004</id>
<published>2026-01-01T12:00:00+00:00</published>
<updated>2026-01-01T12:00:00+00:00</updated>
<summary>Why a 50,000-URL ceiling exists and what a sitemap index actually buys you.</summary>
<content type="html"><p>A sitemap index is a list of lists. Sample article body.</p></content>
<author><name>A. Sample</name></author>
</entry>
<entry>
<title>Crawl budget notes</title>
<link rel="alternate" type="text/html" href="https://www.example.com/blog/crawl-budget-notes"/>
<id>tag:example.com,2026:dispatch-003</id>
<published>2026-01-01T09:30:00+00:00</published>
<updated>2026-01-01T09:30:00+00:00</updated>
<summary>Notes on crawl budget for a fictional catalogue of 500 items.</summary>
<content type="html"><p>Crawl budget is a scheduling story, not a quota. Sample article body.</p></content>
<author><name>A. Sample</name></author>
</entry>
<entry>
<title>Reading robots.txt like a parser</title>
<link rel="alternate" type="text/html" href="https://www.example.com/blog/reading-robots-txt"/>
<id>tag:example.com,2026:dispatch-002</id>
<published>2026-01-01T08:15:00+00:00</published>
<updated>2026-01-01T08:15:00+00:00</updated>
<summary>Group merging, longest-match precedence, and the fields nobody implements.</summary>
<content type="html"><p>Most robots.txt bugs are precedence bugs. Sample article body.</p></content>
<author><name>A. Sample</name></author>
</entry>
<entry>
<title>Hello from the Example Dispatch</title>
<link rel="alternate" type="text/html" href="https://www.example.com/blog/hello"/>
<id>tag:example.com,2026:dispatch-001</id>
<published>2026-01-01T08:00:00+00:00</published>
<updated>2026-01-01T08:00:00+00:00</updated>
<summary>The first entry of a fictional publication used as a feed fixture.</summary>
<content type="html"><p>Nothing here is real. Sample article body.</p></content>
<author><name>A. Sample</name></author>
</entry>
</feed>Specifications
- Seed
- 70400
- Site
- example.com (fictional)
- Format
- Atom 1.0 (RFC 4287)
- Entries
- 4
- Date Format
- RFC 3339
- Content Type
- html
- Self Link
- true
Testing contract
Expected to pass- Scenario
- Compare the entry set with the RSS and JSON Feed twins.
- Expected result
- All four ids match tag:example.com,2026:dispatch-001..004 across the three formats, the escaped content decodes to the same HTML the RSS CDATA carries, and the feed-level updated equals the newest entry's timestamp.
What is a .atom file?
Atom is an XML-based web syndication format standardized by the IETF as a more rigorous alternative to RSS. It publishes entries with structured metadata including unique IDs, updated timestamps, and typed content. It is used for blogs, news, and API feeds.
How to use this file
Use an example Atom file to test feed parsing, entry and metadata extraction, and clients that must support both Atom and RSS syndication.
How to use this file for testing
“Feed twin - Atom 1.0” is a deterministic Novus Examples fixture for Web assets, Feed parsing, Conversion testing. Favicons, web app manifests, service workers, robots and sitemap files, Open Graph images, and .well-known resources — for testing web tooling, crawlers, PWA installers, and asset pipelines.
Documented properties for this file: seed 70400 · 4 entries · Atom 1.0 (RFC 4287). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Web-platform fixtures are standards-compliant samples against fictional example.com data. Test crawlers, PWA installers and manifest validators, favicon/icon pipelines, service-worker registration, or .well-known parsers against the documented structure.
Code examples
import feedparser # pip install feedparser
feed = feedparser.parse("dispatch.atom")
print(feed.feed.get("title"))
for e in feed.entries[:5]:
print(e.title, e.link)Related files
- icoFavicon (multi-size ICO)A multi-resolution favicon.ico bundling 16, 32, 48, and 64 px images of the brand mark — for testing favicon parsers, ICO decoders, and multi-image icon handling.

- svgFavicon (scalable SVG)A scalable SVG favicon of the brand mark — the modern crisp-at-any-size icon format, for testing SVG favicon support and vector-to-raster favicon pipelines.
- pngPNG icon sprite (5-icon strip)A 320×64 PNG icon sprite (five 64×64 cells) — the raster twin of the SVG sprite, for testing background-position sprite techniques and sprite slicers.

- svgSVG icon sprite (symbol sheet)An SVG sprite sheet defining five reusable icons as <symbol> elements referenced by <use href='#id'> — for testing SVG sprite pipelines and icon systems. Paired with a PNG sprite twin.
- otfOTF — CFF (Cubic) OutlinesThe same design in CFF outlines: cubic Type 2 charstrings with no glyf and no loca. The half of the pair that catches code assuming every OpenType font is TrueType-flavoured. Original typeface, free to use.

- otfOTF — Colour Font, COLR Layers over CFF OutlinesCOLR and CPAL over CFF rather than glyf outlines. COLR is outline-agnostic by specification, but plenty of tooling assumes colour fonts are TrueType-flavoured — this is the file that finds out. Original typeface, free to use.

Generated by generation/web_p7.py. Free for any use, no attribution required — license.