| Module Info
| Add a review of XML-Atom-SimpleFeed
The issues with encoding should be clarified in docs, I think.
This module generates us-ascii XML documents. This is mostly ok if your feeds are for HTML only because HTML has its own way of encoding non-ASCII characters into ASCII (HTML entities). You only have to jump through a hoop to get everything encoded right.
But as Atom feeds are more and more used outside of simple case of "subscription to a stream of HTML pieces" this issue should be dealt with.
Should be easy, actually, as current Perls shine at Unicode support.
This would be a stellar module if it supported non-ASCII characters nicely. Instead, it replaces ISO-8859-1 accented sequences like "l'Ã©tÃ©" with "l'\xE9t\xE9" ; that is, it introduces the literal Perl hex representation which is fairly useless to anything outside perl. I think it should either try to encode as numeric entites or pass through the encoded characters, assuming that the user has set up the appropriate encoding beforehand. As it is, I cannot use the module easily for non-English feeds.
UPDATE: I hadn't seen bug 19722, which largely explains my problem. In my case, there are relatively few entities, and I can live with them, so using
decode("UTF-8", $content, Encode::FB_XMLCREF);
before passing input to X::A::SF made things work all right.
Sorry for the inappropriateness of my original comment. I give 4.5 of 5 stars, rounded up. :)
[This is a reply from the author to Darren Kulpâ€™s review:]
CPAN Ratings is not the place for bug reports. What XML::Atom::SimpleFeed actually does is it encodes all input strings to ASCII, using Encode.pmâ€™s HTMLCREF fallback. Effectively it will spit out all characters > 127 as numeric character references. If that ends up producing PERLQQ rather than HTMLCREF escaping for you, then your Encode.pm is either old or broken. Please file an RT ticket so we can figure this out.
Using XML::Atom::SimpleFeed I was able to add an Atom view of Perl Training Australia's "Perl Tips" in just a page of code, most of which was business logic to locate and extract appropriate tips.
Two thumbs up!
Exactly what I've been looking for. XML::Feed::Atom doesn't support everything I want to do (and the output doesn't validate), but this module works great. It lets you use all standard output tags, and doesn't try to be smart about munging your input.
5 stars, becuase it does exactly what it should; no more, no less.