An XML marshalling and demartialling library