The best you can do is decode exactly twice and write off feeds where that’s not good enough as collateral damage. That will cover 98% or so for the feeds in the wild; the remaining 2% are simply unreclaimable, and whatever clever approach you employ as you try will just break a different (and larger) set of feeds.

The analogy to PPI is not very useful. Perl code has a precise meaning that can be read out unambiguously, even if it’s extremely hard to achieve that. In contrast, RSS titles do not have precise meaning to begin with.

As for Atom, I have no illusions about what it means for writing software that consumes feeds: nothing, because you clearly can’t ignore the millions of deployed RSS feeds. Nor was I saying you should at any point of this diatriabe. I’m just imploring those who are only just writing feed generation code now to please make the sane choice right off the bat, so that this headache, even though it is here to stay, will at least not grow (too much).

(Please note that it’s Atom, not ATOM: it’s neither an acronym nor a backronym and doesn’t stand for anything; it’s a proper name.)

Makeshifts last the longest.


In reply to Re^6: HTML from single, double and triple encoded entities in RSS documents by Aristotle
in thread HTML from single, double and triple encoded entities in RSS documents by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.