add dtd support, kinda buggy, but good enough for now. State of the art for FOSDEM