3 ms·
The problem of RSS is that it’s not governed by any spec. Yes, the spec says <description> can contain HTML and doesn’t say that about <title>, but RSS is truly
by chrismorgan 5y ago
The problem of RSS is that it’s not governed by any spec. Yes, the spec says <description> can contain HTML and doesn’t say that about <title>, but RSS is truly defined by usage rather than spec, much more than most formats.
As a weak example showing this philosophy early on, from <https://www.rssboard.org/rss-0-9-2 https://www.rssboard.org/rss-0-9-2>, emphasis mine:
> Further, 0.92 allows entity-encoded HTML in the <description> of an item, to reflect actual practice by bloggers, who are often proficient HTML coders.
And that’s RSS in a nutshell, a format specified only in reaction to prevalent usage, where non-conformant documents are a normal part of life, and parsers are lax in a variety of unspecified ways because they’re reacting to usage. And what I have observed is various RSS feeds with titles containing characters significant to HTML being mangled by some feed readers, and various RSS feeds with descriptions that are plain text (possibly with characters like <, & and >, possibly not) so that some feed readers try to guess whether the <description> is in fact plain text or HTML.
The very existence and popularity of <content:encoded> is an acknowledgement that <description> is broken.
Atom is good in this regard because it provided a sane definition that people are vastly more likely to actually conform to; you can take the guesswork out of things.
I still wish Atom supported providing both text and html values; e.g. in https://chrismorgan.info/blog/make-and-git-diff-test-harness/ https://chrismorgan.info/blog/make-and-git-diff-test-harness..., my HTML title is “Using <code>make</code> and <code>git diff</code> for a simple and powerful test harness”, while my text title is “Using `make` and `git diff` for a simple and powerful test harness”. On principle, I use the HTML version, but alas, most feed readers will strip the formatting and leave just “Using make and git diff for a simple and powerful test harness”.
I took a look through some of the feeds I subscribe to; RSS is definitely the significantly more popular format among them, but Atom is common too.