I need a controlled way of creating the target ```XmlDocument``` because I need to inject the file path attribute into it before it is actually saved to disk (notice how ```XmlDocument.Save(targetFilePath)``` is called way after ```PopulateXmlDocument``` is called, so the ```XmlDocument``` passed into ```PopulateXmlDocument``` does not have a file path information that a ```DSFunction``` node can refer to), and later on removing that attribute right before the file is saved on disk (so user does not get to see it).