<div dir="ltr">I really enjoyed hxt. If it's of interest, here's a simple program I wrote to convert Freeplane (.mm) files to org format.<br><br><a href="https://github.com/JeffreyBenjaminBrown/rescue-freeplane">https://github.com/JeffreyBenjaminBrown/rescue-freeplane</a><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 15, 2021 at 3:50 PM Ivan Perez <<a href="mailto:ivanperezdominguez@gmail.com">ivanperezdominguez@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>DTDToHaskell was indeed a great idea. However, the 
last time I tried to use HaXml for a real project, I was not able to 
compile the resulting file because the DTD defined two namespaces. It would be great if someone could address that limitation.<br></div><div><br></div><div></div></div><div>As with many other topics, XML handling is an area where it's easy to make a novel library based on a new concept, but *very* hard to create a full, industry-ready implementation that handles non-trivial, real-world DTDs and XML.<br></div><div><br></div><div>Just in this thread, people have listed many libraries. Their features overlap in part but not perfectly. Their level of maintainership is unclear. Comparing all of this work to determine what a good choice would be is VERY hard* . To me, this highlights the fact that our community might do better if we focused on contributing to existing implementations, and resisted the urge to create new ones.</div><div><br></div><div>All the best,</div><div><br></div><div>Ivan<br></div><div><br></div><div>(*It's not always easy to measure any one dimension. The complexity of comparing implementations may quickly degenerate to something like m * (n ^ 2) where m is the number of dimensions compared and n is the number of solutions, but I think it can get even worse, but even then you may be left with the task of defining a good order relationship on an m-dimensional space. All of this to say that it's REALLY complex and adding a new implementation should rarely be seen as the solution.)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 15 Aug 2021 at 16:17, amindfv--- via Haskell-Cafe <<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">HaXml is pretty old at this point but one big advantage is it has an executable DtdToHaskell which takes an XML DTD file and automatically creates Haskell data types, a parser, and a pretty-printer.<br>
<br>
Tom<br>
<br>
<br>
On Tue, Aug 03, 2021 at 12:45:44PM -0400, John Arnold wrote:<br>
> I am building a prototype for processing ISO 20022 Payment Initiation<br>
> messages. These messages are in XML format and I want the prototype to be<br>
> built using Haskell.<br>
> <br>
> Conducting a search for 'Haskell XML parsing' yields postings that are in<br>
> the region of 10+yrs old.<br>
> <br>
> I am sure there are packages that have been developed/update in the recent<br>
> past.<br>
> Any thoughts?<br>
<br>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> To (un)subscribe, modify options or view archives go to:<br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
> Only members subscribed via the mailman list are allowed to post.<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">   </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px">   </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a>   |   <a href="https://twitter.com/carelogic" target="_blank">Twitter</a>  |  <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a>  |  very old <a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank">Website</a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>