just copy-paste XmlParser from std for good