source attribute string would have been encoded already, to be valid XML to start with
let attributesToString() use its default behavior of ENTITIES_XML for handling attribute strings