Skip to content

Control characters not escaped when creating an xml document #116

Open
@benasher44

Description

@benasher44

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):

image

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!

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions