title: Which Haskell XML library to use?
body: <p>I see that there is a few of XML processing libraries in Haskell.</p>
  
  <ul>
  <li><a href="http://www.haskell.org/HaXml/" rel="noreferrer">HaXml</a> seems to be the most popular (according to <a href="http://donsbot.wordpress.com/2009/08/29/haskell-popularity-rankings-september-2009/" rel="noreferrer">dons</a>)</li>
  <li><a href="http://www.fh-wedel.de/~si/HXmlToolbox/" rel="noreferrer">HXT</a> seems to be the most advanced (but also the most difficult to learn thanks to arrows)</li>
  <li><a href="http://hackage.haskell.org/package/xml" rel="noreferrer">xml</a> which seems to be just the basic parser</li>
  <li><a href="http://www.flightlab.com/~joe/hxml/" rel="noreferrer">HXML</a> seems to be abandoned</li>
  <li>tagsoup and tagchup</li>
  <li>libXML and libXML SAX bindings</li>
  </ul>
  
  <p>So, which library to choose if I want it</p>
  
  <ul>
  <li>to be reasonably powerful (to extract data from XML and to modify XML)</li>
  <li>likely to be supported long time in the future</li>
  <li>to be a “community choice” (default choice)</li>
  </ul>
  
  <p>And while most of the above seem to be sufficient for my current needs, what are the reason to choose one of them over the others?</p>
  
  <p><strong>UPD 20091222</strong>:</p>
  
  <p>Some notes about licenses:</p>
  
  <ul>
  <li>BSD or MIT: <a href="http://hackage.haskell.org/package/hexpat" rel="noreferrer">hexpat</a>, <a href="http://hackage.haskell.org/package/hxt" rel="noreferrer">hxt</a>, <a href="http://hackage.haskell.org/package/libxml" rel="noreferrer">libxml</a>, <a href="http://hackage.haskell.org/package/tagsoup" rel="noreferrer">tagsoup</a>, <a href="http://hackage.haskell.org/package/xml" rel="noreferrer">xml</a></li>
  <li>LGPL: <a href="http://hackage.haskell.org/package/HaXml" rel="noreferrer">HaXml</a></li>
  <li>GPLv2:</li>
  <li>GPLv3: <a href="http://hackage.haskell.org/package/libxml-sax" rel="noreferrer">libxml-sax</a>,  <a href="http://hackage.haskell.org/package/tagchup" rel="noreferrer">tagchup</a>, <a href="http://hackage.haskell.org/package/tagsoup-ht" rel="noreferrer">tagsoup-ht</a></li>
  </ul>