Cum folosești XML în Haskell
- Lipește un exemplu XML reprezentativ, de preferat cu toate câmpurile opționale completate.
- Alege numele tipului rădăcină și decide dacă vrei și cod ajutător sau doar tipurile.
- Copiază codul Haskell generat în proiectul tău.
Despre XML în Haskell
Să scrii manual clase de model pentru un volum mare de date XML este monoton și poți face ușor greșeli de tastare. Lipește aici un exemplu, iar generatorul identifică structura: ce câmpuri există, care sunt obiecte, care sunt array-uri și ce tip are fiecare valoare. Rezultatul conține tipuri de înregistrări cu instanțe ToJSON și FromJSON din Aeson.
XML este prima dată convertit la JSON în același mod ca și în instrumentul nostru XML la JSON: atributele obțin un @_ Prefixul și conținutul de text alături de atribute este numit #text. Tipurile Haskell sunt generate din acest rezultat. Câmpurile înregistrărilor primesc un prefix bazat pe numele tipului, deoarece Haskell nu permite ca două înregistrări din același modul să aibă aceleași nume de câmpuri.
Utilizarea codului generat
Utilizarea decode de la Data.Aeson, de exemplu decode text :: Maybe Root.
Câmpurile opționale folosesc tipul Maybe.