alongside json and bson support, we need to convert to and from xml. this can be done with assistance from an xsd