diff options
Diffstat (limited to 'src/test/regress/sql/xml.sql')
| -rw-r--r-- | src/test/regress/sql/xml.sql | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/test/regress/sql/xml.sql b/src/test/regress/sql/xml.sql new file mode 100644 index 0000000000..061f6329f9 --- /dev/null +++ b/src/test/regress/sql/xml.sql @@ -0,0 +1,72 @@ +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'); + +SELECT * FROM xmltest; + + +SELECT xmlcomment('test'); +SELECT xmlcomment('-test'); +SELECT xmlcomment('test-'); +SELECT xmlcomment('--test'); +SELECT xmlcomment('te st'); + + +SELECT xmlconcat(xmlcomment('hello'), + xmlelement(NAME qux, 'foo'), + xmlcomment('world')); + +SELECT xmlconcat('hello', 'you'); +SELECT xmlconcat(1, 2); +SELECT xmlconcat('bad', '<syntax'); + + +SELECT xmlelement(name element, + xmlattributes (1 as one, 'deuce' as two), + 'content'); + +SELECT xmlelement(name element, + xmlattributes ('unnamed and wrong')); + +SELECT xmlelement(name element, xmlelement(name nested, 'stuff')); + +SELECT xmlelement(name employee, xmlforest(name, age, salary as pay)) FROM emp; + +SELECT xmlelement(name wrong, 37); + + +SELECT xmlpi(name foo); +SELECT xmlpi(name xmlstuff); +SELECT xmlpi(name foo, 'bar'); +SELECT xmlpi(name foo, 'in?>valid'); + + +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; + + +-- Check mapping SQL identifier to XML name + +SELECT xmlpi(name ":::_xml_abc135.%-&_"); +SELECT xmlpi(name "123"); |
