<div dir="ltr">Hi list,<div><br></div><div>I want to write a simple XML web service in Haskell that services a .NET WCF client, but am struggling with choosing the right XML library.</div><div><br></div><div>"aeson" [1] has been a pleasure to use, so I am looking for an XML serialization library similar to aeson, where I can write ToElement/FromElement instances using simple applicative combinators, working with a high-level document model (i.e. not a parse tree), just like I have done in the past with ToJSON/FromJSON.<br></div><div><br></div><div><div><div>Does such a library exist?<br></div></div><div><br></div><div>I need the library to understand XML namespaces and the mandatory predefined entities, but I do not need any other extensions like XML Schemas, XPath or XSLT. Preferably, "xmlns" attributes should be handled specially and namespace prefixes resolved by the parser. "xmlns" attributes should be placed automatically by the renderer (I don't care what prefixes it chooses). I do not want to have to keep track of seen namespace prefixes while I am traversing the document, or to manually place "xmlns" attributes on elements for rendering. The "xml" [2] library is giving me grief at the moment with how unspecial its treatment of namespaces is.</div></div><div><br></div><div>HXT appears to be beyond my skill level at the moment. There appear to be too many new things I would have to learn all at once before I could use it for this simple task. Cf. aeson, which I was able to use for practical applications the day I learned what an applicative functor was.<br></div><div><br></div><div>[1] <a href="https://hackage.haskell.org/package/aeson">https://hackage.haskell.org/package/aeson</a></div><div>[2] <a href="https://hackage.haskell.org/package/xml">https://hackage.haskell.org/package/xml</a><br></div><div><br></div><div>Thanks,</div><div>--</div><div>Thomas Koster</div><div><br></div></div>