Introducing input XML Formatters.

XmlOutputFormatters will be in a separate PR.
readonly all the things