Introducing input XML Formatters.

XmlOutputFormatters will be in a separate PR.
probably best to just leave it as is for now then.