CREATE TABLE xmltest ( id int, data xml ); INSERT INTO xmltest VALUES (1, 'one'); INSERT INTO xmltest VALUES (2, 'two'); INSERT INTO xmltest VALUES (3, 'r'); SELECT xmlelement(name foo, xml 'br'); SELECT xmlelement(name foo, array[1, 2, 3]); SELECT xmlparse(content 'abc'); SELECT xmlparse(content 'x'); SELECT xmlparse(document 'abc'); SELECT xmlparse(document 'x'); SELECT xmlpi(name foo); SELECT xmlpi(name xmlstuff); SELECT xmlpi(name foo, 'bar'); SELECT xmlpi(name foo, 'in?>valid'); SELECT xmlpi(name foo, null); SELECT xmlpi(name xmlstuff, null); SELECT xmlpi(name foo, ' bar'); SELECT xmlroot(xml '', version no value, standalone no value); SELECT xmlroot(xml '', version '2.0'); SELECT xmlroot(xmlroot(xml '', version '1.0'), version '1.1', standalone no); SELECT xmlroot ( xmlelement ( name gazonk, xmlattributes ( 'val' AS name, 1 + 1 AS num ), xmlelement ( NAME qux, 'foo' ) ), version '1.0', standalone yes ); SELECT xmlserialize(content data as character varying) FROM xmltest; SELECT xml 'bar' IS DOCUMENT; SELECT xml 'barfoo' IS DOCUMENT; SELECT xml '' IS NOT DOCUMENT; SELECT xml 'abc' IS NOT DOCUMENT; SELECT '<>' IS NOT DOCUMENT; -- Check mapping SQL identifier to XML name SELECT xmlpi(name ":::_xml_abc135.%-&_"); SELECT xmlpi(name "123");