| Crates.io | facet-atom |
| lib.rs | facet-atom |
| version | 0.43.1 |
| created_at | 2026-01-03 23:12:41.543533+00 |
| updated_at | 2026-01-23 08:54:04.784643+00 |
| description | Atom Syndication Format (RFC 4287) types for facet-xml |
| homepage | https://facet.rs |
| repository | https://github.com/facet-rs/facet |
| max_upload_size | |
| id | 2020915 |
| size | 43,405 |
Provides strongly-typed Atom Syndication Format (RFC 4287) parsing and generation using facet-xml.
Atom is the standard XML-based format for web content syndication. While RSS is more widely known, Atom (RFC 4287) offers a cleaner, more precisely specified format that's used by many content platforms, feed readers, and publishing tools.
facet-atom provides strongly-typed, compile-time-safe Atom structures derived from Facet's reflection system. You get:
This makes facet-atom ideal for:
The following Atom elements are fully supported:
<feed>: Top-level feed container with metadata and entries<entry>: Individual content entries<source>: Original feed metadata for aggregated entries<author> / <contributor>: Person constructs with name, uri, email<category>: Categorization with term, scheme, label<generator>: Feed generator information<icon> / <logo>: Feed imagery<link>: Related resources with full attribute support (href, rel, type, hreflang, title, length)<id>: Permanent, universally unique identifiers<title> / <subtitle> / <summary> / <rights>: Text constructs supporting text/html/xhtml<content>: Entry content (inline or external via src)<published> / <updated>: RFC 3339 timestampsuse facet_atom::{Feed, Entry, Person, Link, TextContent};
// Parse an Atom feed
let xml = r#"<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Example Feed</title>
<id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
<updated>2003-12-13T18:30:02Z</updated>
<author>
<name>John Doe</name>
</author>
<entry>
<title>First Post</title>
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<updated>2003-12-13T18:30:02Z</updated>
<summary>Some text.</summary>
</entry>
</feed>"#;
let feed: Feed = facet_atom::from_str(xml)?;
assert_eq!(feed.entries.len(), 1);
http://www.w3.org/2005/Atom)Thanks to all individual sponsors:
...along with corporate sponsors:
...without whom this work could not exist.
The facet logo was drawn by Misiasart.
Licensed under either of:
at your option.