Don't spend too much time on the various libraries though. I tried some simple things with Haskell and XML, but I found it really hard to actually parse a simple document. You really don't want to write your own parser.

The only tool that worked for me was HXT, which is based on arrows. These are pretty hard to grasp right away, but really powerful. I really like the way they are used in HXT, but it still feels a bit weird sometimes.

Good luck, and keep us posted.

-chris

On Mar 22, 2007, at 7:52 AM, Andrew Wagner wrote:

Hi Arun,
Your problem description seems a little vague - which is
understandable, considering how embedded in your business model it is.
As for general recommendations, I'm no guru, but I would suggest
looking at the existing XML libraries in Haskell [1], and if that's
not powerful enough, check out parsec[2] for building a custom parser.
I think to get more specific recommendations, you would need to give
more details about the problem. Hope this helps somewhat. Andrew

[1]: http://www.haskell.org/haskellwiki/Libraries_and_tools/ Web_programming#XML_2
[2]: http://www.cs.uu.nl/people/daan/download/parsec/parsec.html


On 3/22/07, Arun Suresh <[EMAIL PROTECTED]> wrote:
Hi..

I am currently working on a project where basically we do a lot of XML
validation and digestion. For example :
We recieve an XML document A, if the document passes schema validation, we do some business level validations, then from A, we create XML digests B, C
and D.
Our code-base is written completely in Java. We had earlier tried using XSLT, but it became too unwieldy to manage (we ended up making calls to
other Java classes from the XSLT engine)

The problem we are facing right now is that we have huge hierarchies of Validators, Digestors and Contexts. It just doesnt look right. I just cant
help but wonder if theres a better way of doing this...

I have been trying to get my hands dirty with Haskell for a couplo weeks now. all the while keeping the problem at hand in the back of my mind.. I just dont seem to be see how applying functional programming concepts can help in this scenario.. Was wondering if somebody could probably give me
some pointers..

Regards
Arun






_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to