XML谓词
本节的函数用户检查xml值的属性。
xml IS DOCUMENT
描述:如果参数XML值是一个正确的XML文档,则IS DOCUMENT返回真;如果非正确XML文档,则返回假;参数为空时返回空。
返回值类型:bool
1 2 3 4 5 |
SELECT '<abc/>' is document; ?column? ---------- t (1 row) |
xml IS NOT DOCUMENT
描述:如果参数XML值不是一个正确的XML文档,则IS NOT DOCUMENT返回真;如果是正确XML文档,则返回假;参数为空时返回空。
返回值类型:bool
1 2 3 4 5 |
SELECT 'abc' is document; ?column? ---------- f (1 row) |
XMLEXISTS(text PASSING [BY REF] xml [BY REF])
描述:如果第一个参数中的XPath表达式返回任何节点,则函数XMLEXISTS返回真,否则返回假(如果哪一个参数为空,则结果就为空)。BY REF子句没有作用,用于保持SQL兼容性。
返回值类型:bool
示例:
1 2 3 4 5 |
SELECT xmlexists('//town[text() = ''TScity'']' PASSING BY REF '<towns><town>TScity</town><town>TOcity</town></towns>'); xmlexists ----------- t (1 row) |
xml_is_well_formed(text)
描述:检查text字符串是不是格式良好的XML值,返回布尔结果。如果xmloption参数设置为DOCUMENT则检查文档,如果设置为CONTENT则检查内容。
返回值类型:bool
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
SET xmloption TO DOCUMENT; SET SELECT xml_is_well_formed('<>'); xml_is_well_formed -------------------- f (1 row) SELECT xml_is_well_formed('<abc/>'); xml_is_well_formed -------------------- t (1 row) SET xmloption TO CONTENT; SELECT xml_is_well_formed('abc'); xml_is_well_formed -------------------- t (1 row) |
xml_is_well_formed_document(text)
描述:检查text字符串是不是格式良好的文档,返回布尔结果。
返回值类型:bool
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT xml_is_well_formed_document('<test:foo xmlns:test="http://test.com/test">bar</test:foo>'); xml_is_well_formed -------------------- t (1 row) SELECT xml_is_well_formed_document('<test:foo xmlns:test="http://test.com/test">bar</my:foo>'); xml_is_well_formed_document ----------------------------- f (1 row) |
xml_is_well_formed_content(text)
描述:检查text字符串是不是格式良好的内容,返回布尔结果。
返回值类型:bool
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT xml_is_well_formed_content('content'); xml_is_well_formed_content ---------------------------- t (1 row) SELECT xml_is_well_formed_content('<content'); xml_is_well_formed_content ---------------------------- f (1 row) |