Search code examples
xmlhaskellheist

How can I use the Text.RSS module in an application already using Text.XmlHtml without also importing Text.XML.HaXml?


I have an pretty stereotypical weblogging application that I've been working on for practice. The top level of my application is a Happstack layer using pretty standard routing. I have gotten to the point where I want to add an XML feed to the code.

Here's the part that bothers me. Since I used Heist for templating, I have already brought in the Text.XmlHtml module as part of working with Heist. Using Text.RSS requires that I bring in Text.XML.HaXml, too. It seems excessive to me to need to use two different XML modules in the same application.

So, short of writing my own RSS feed (and probably doing it wrong/in violation of spec/investing a ton of excessive time), is there any way to stick with just a single XML library in my application? Also, is there any serious drawback or code bloat to having two different XML modules present?


Solution

  • If you want to use Text.RSS, then no. XmlHtml was written specifically because Heist has some unique requirements for it's underlying xml library and none of the existing ones were sufficient. If you don't want to use Text.RSS, then you could always write your own version backed by XmlHtml or try to port Text.RSS to it.