Как преобразовать тип данных Ocaml в xml и наоборот?

Есть ли простой способ перейти от типа данных Ocaml к соответствующему xml-представлению?

Предположим, у меня есть следующие типы:

type A =
  | FirstA of B list
  | SecondA of C * string

type B = B1 | B2

type C = {
  my_field: int;
}

Для значения SecondA (C {my_field = 10}, «просто значение») Я бы хотел получить что-то вроде этого:

<A constructor="FirstA">
   <C><my_field>10</my_field></C>
   <string>just a value</string>
</A>

Есть ли какая-нибудь библиотека, которая может делать что-то подобное? Или, если мне придется делать это самому, что будет лучшим подходом? Обратите внимание, что я хочу применить это к нескольким различным типам данных.

Мне известны общие методы программирования типов данных, но они слишком «тяжелые» для использования в моем случае.

5
задан Calin 16 March 2011 в 15:44
поделиться