Open
Description
Describe the bug
We wound up with a control character in a document we intended to serialize to XML using xmlbuilder2, and we found that it doesn't end up escaping, throwing them out, or error.
To Reproduce
The following results
create({ encoding: "utf-8", version: "1.0" }, { test: { value: "\b" } }).end()
If I use Jest's inline snapshot functionality, I get something that looks like this in VSCode (shows the control character, un-escaped with VSCode's representation of it):
Expected behavior
Ideally it would escape them (though not sure XML 1.0 allows this). If escaping isn't possible, ideally there would be an option to throw them out silently or error.
Version:
- node.js: 16 LTS
- xmlbuilder2: 3.0.2 (though tried 2.x as well)
Additional context
Happy to provide more (though feel like repro case should capture it)! Thanks for your help!