2009-04-18 8 views
7

Je fais un traitement html côté serveur dans Haskell. Je me demande s'il y a un équivalent de l'implémentation du moteur de sélection de type jquery pour le haskell que je pourrais utiliser. Google ne cède rien.Jquery comme sélecteur dans Haskell

Répondre

2

La façon dont fonctionne le moteur de sélection de jQuery (en gros) est d'utiliser le code Javascript de sélection/manipulation DOM existant. À ma connaissance, personne n'a créé quelque chose de semblable à Haskell, et probablement avec raison. C'est facile à faire avec Javascript à cause du DOM et des fonctionnalités existantes, mais chez Haskell, vous n'avez pas vraiment besoin de ça et ce n'est pas particulièrement facile.

En ce qui concerne l'écriture vous-même, cependant, vous allez faire beaucoup d'analyse XML méchant. Si vous pouvez ranger la page en XHTML, vous pouvez l'analyser en XML; ensuite, vous pouvez choisir si un noeud a des enfants, si un noeud a un attribut donné, quel est l'élément lui-même, et ainsi de suite. Peut-être cherchez-vous simplement une bibliothèque XML, alors! Si cela fonctionne pour vous, je vous recommande HaXml. Je l'ai seulement utilisé deux fois, mais je l'ai aimé. Rien de tout à fait comme cette application, cependant.

1

Jetez un coup d'œil au module Xtract à partir du HaXml. Il existe un outil de ligne de commande du même nom pour le tester.

0

J'écris un module pour faire exactement cela appelé HandsomeSoup. Il utilise HXT. J'ai également écrit un guide complet pour travailler avec HTML avec HXT here.

1

J'ai créé un package dom-selector qui prend en charge certains sélecteurs CSS. Cela fonctionne sur les paquets xml-conduit et html-conduit. Je pense que xml-conduit et html-conduit seront activement développés, puisqu'ils accompagnent Yesod, un framework de serveur web majeur pour Haskell.