Re: review: xml_is_well_formed

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: Mike Fowler <mike@mlfowler.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-08-09T14:20:39Z
Lists: pgsql-hackers
On lör, 2010-08-07 at 16:47 +0100, Mike Fowler wrote:
> To be honest I'm happiest with returning a boolean, even if there is 
> some confusion over content only being valid. Though changing the
> return 
> value to DOCUMENT/CONTENT/NULL makes things a touch more explicit,
> the 
> same results can be achieved by simply running:
> 
> SELECT data::xml FROM mixed WHERE xml_is_well_formed(data) AND
> data::xml IS DOCUMENT; 

Note that this wouldn't necessarily work because it is not guaranteed
that the well-formedness test is executed before the cast to xml.  SQL
doesn't short-circuit left to right.  (A CASE expression could work.)