Hello,
I am using PostgreSQL 13.8 and I think that I found an issue with XML serialization and deserialization.
A text that has special characters cannot be converted to XML even if it was created by serializing an XML element.
In our case a string contains a special character with the ASCII code 19, placed between the letters i and p.
The simple statement that serializes an XML element works.
select xmlelement(name "street",'i p')::text
When the same text has to be converted back to XML. it fails with an error
select xmlelement(name "street",'i p')::text::xml
The error message is
SQL Error [2200N]: ERROR: invalid XML content
Detail: line 1: PCDATA invalid Char value 19
<street>i p</street>
^
line 1: chunk is not well balanced
<street>i p</street>
^
The expected behaviour would be to successfully parse an XML element that was created and serialized by the same engine.
Best regards,
--