Re: XML with invalid chars

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-04-26T21:11:10Z
Lists: pgsql-hackers
On Mon, Apr 25, 2011 at 07:25:02PM -0400, Andrew Dunstan wrote:
> I came across this today, while helping a customer. The following will  
> happily create a piece of XML with an embedded ^A:
>
>    select xmlelement(name foo, null, E'abc\x01def');
>
> Now, a ^A is totally forbidden in XML version 1.0, and allowed but only  
> as "&#x01;" or equivalent in XML version 1.1, and not as a 0x01 byte  
> (see <http://en.wikipedia.org/wiki/XML#Valid_characters>)
>
> ISTM this is something we should definitely try to fix ASAP, even if we  
> probably can't backpatch the fix.

+1.  Given that such a datum breaks dump+reload, it seems risky to do nothing at
all in the back branches.