diff options
Diffstat (limited to 'src/test/regress/expected/xml.out')
| -rw-r--r-- | src/test/regress/expected/xml.out | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/src/test/regress/expected/xml.out b/src/test/regress/expected/xml.out new file mode 100644 index 0000000000..20a2d4fa02 --- /dev/null +++ b/src/test/regress/expected/xml.out @@ -0,0 +1,145 @@ +CREATE TABLE xmltest ( + id int, + data xml +); +INSERT INTO xmltest VALUES (1, '<value>one</value>'); +INSERT INTO xmltest VALUES (2, '<value>two</value>'); +INSERT INTO xmltest VALUES (3, '<wrong'); +ERROR: could not parse XML data +DETAIL: Expected '>' +SELECT * FROM xmltest; + id | data +----+-------------------- + 1 | <value>one</value> + 2 | <value>two</value> +(2 rows) + +SELECT xmlcomment('test'); + xmlcomment +------------- + <!--test--> +(1 row) + +SELECT xmlcomment('-test'); + xmlcomment +-------------- + <!---test--> +(1 row) + +SELECT xmlcomment('test-'); +ERROR: invalid XML comment +SELECT xmlcomment('--test'); +ERROR: invalid XML comment +SELECT xmlcomment('te st'); + xmlcomment +-------------- + <!--te st--> +(1 row) + +SELECT xmlconcat(xmlcomment('hello'), + xmlelement(NAME qux, 'foo'), + xmlcomment('world')); + xmlconcat +---------------------------------------- + <!--hello--><qux>foo</qux><!--world--> +(1 row) + +SELECT xmlconcat('hello', 'you'); + xmlconcat +----------- + helloyou +(1 row) + +SELECT xmlconcat(1, 2); +ERROR: argument of XMLCONCAT must be type xml, not type integer +SELECT xmlconcat('bad', '<syntax'); +ERROR: could not parse XML data +DETAIL: Expected '>' +SELECT xmlelement(name element, + xmlattributes (1 as one, 'deuce' as two), + 'content'); + xmlelement +------------------------------------------------ + <element one="1" two="deuce">content</element> +(1 row) + +SELECT xmlelement(name element, + xmlattributes ('unnamed and wrong')); +ERROR: unnamed attribute value must be a column reference +SELECT xmlelement(name element, xmlelement(name nested, 'stuff')); + xmlelement +------------------------------------------- + <element><nested>stuff</nested></element> +(1 row) + +SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; + xmlelement +---------------------------------------------------------------------- + <employee><name>sharon</name><age>25</age><pay>1000</pay></employee> + <employee><name>sam</name><age>30</age><pay>2000</pay></employee> + <employee><name>bill</name><age>20</age><pay>1000</pay></employee> + <employee><name>jeff</name><age>23</age><pay>600</pay></employee> + <employee><name>cim</name><age>30</age><pay>400</pay></employee> + <employee><name>linda</name><age>19</age><pay>100</pay></employee> +(6 rows) + +SELECT xmlelement(name wrong, 37); +ERROR: argument of XMLELEMENT must be type xml, not type integer +SELECT xmlpi(name foo); + xmlpi +--------- + <?foo?> +(1 row) + +SELECT xmlpi(name xmlstuff); +ERROR: invalid XML processing instruction +DETAIL: XML processing instruction target name cannot start with "xml". +SELECT xmlpi(name foo, 'bar'); + xmlpi +------------- + <?foo bar?> +(1 row) + +SELECT xmlpi(name foo, 'in?>valid'); +ERROR: invalid XML processing instruction +DETAIL: XML processing instruction cannot contain "?>". +SELECT xmlroot ( + xmlelement ( + name gazonk, + xmlattributes ( + 'val' AS name, + 1 + 1 AS num + ), + xmlelement ( + NAME qux, + 'foo' + ) + ), + version '1.0', + standalone yes +); + xmlroot +------------------------------------------------------------------------------------------ + <?xml version="1.0" standalone="yes"?><gazonk name="val" num="2"><qux>foo</qux></gazonk> +(1 row) + +SELECT xmlserialize(content data as character varying) FROM xmltest; + data +-------------------- + <value>one</value> + <value>two</value> +(2 rows) + +-- Check mapping SQL identifier to XML name +SELECT xmlpi(name ":::_xml_abc135.%-&_"); + xmlpi +------------------------------------------------- + <?_x003A_::_x005F_xml_abc135._x0025_-_x0026__?> +(1 row) + +SELECT xmlpi(name "123"); + xmlpi +--------------- + <?_x0031_23?> +(1 row) + |
