xmltree does not escape newlines but prevents them from being escaped
### Description

`toXmlAttributes` escapes the incoming string. This is OK but it does not escape whitespace characters like the carriage return or linefeed. Since XML dictates all whitespace (such as a newline) be interpreted as a single blank space during reading—a string cannot be reversibly stored in XML with the `xmltree` module.

Attempting to escape the XML manually fails because the ampersands are consumed during escaping.

### Nim Version

2.0.8

### Current Output

_No response_

### Expected Output

_No response_

### Known Workarounds

It may be possible to break the `XmlAttributes` abstraction and inject the manually escaped string there. I have not tried.

### Additional Information

- https://stackoverflow.com/questions/449627/are-line-breaks-in-xml-attribute-values-allowed
- https://stackoverflow.com/questions/2004386/how-to-save-newlines-in-xml-attribute
