schema_to_xml() 是一个系统函数,用于将PostgreSQL模式的内容输出为XML。
schema_to_xml() 添加于 PostgreSQL 8.3。
用法
schema_to_xml (schemaname,nullsboolean,tableforestboolean,targetnstext)
→xml
schema是要转换为XML的PostgreSQL模式的名称。请注意,如果提供NULL,则函数将返回NULL。
nulls,当设置为 true 时,将在输出中以以下方式表示 NULL 值:
<columnname xsi:nil="true"/>
如果 nulls 设置为 false,则 NULL 值将从输出中省略。
tableforest,当设置为true时,会将每个关系(relation)的列集包装在<tablename>元素内;但对于空表,不会输出任何行。当设置为false时,每个列集都会被包装在一个包含在外部<tablename>元素内的<row>元素中。
targetns 指定结果的 XML 命名空间。如果提供空字符串,则不使用命名空间。请注意,如果提供 NULL,则函数将返回 NULL。
函数 schema_to_xmlschema() 提供了描述schema_to_xml()执行映射的XML Schema文档。schema_to_xml_and_xmlschema() 结合了这两个函数的输出。
变更历史
- PostgreSQL 8.3
- 添加于 (提交 0b75afda)
示例
schema_to_xml() 的基本用法示例
postgres=# CREATE TABLE foo (id INT, val TEXT);
CREATE TABLE
postgres=# INSERT INTO foo VALUES(generate_series(1,2), clock_timestamp());
INSERT 0 2
postgres=# CREATE TABLE bar (id INT, val TEXT);
CREATE TABLE
postgres=# SELECT schema_to_xml('public', true, false, '');
schema_to_xml
----------------------------------------------------------------
<public xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
+
<bar> +
+
</bar> +
+
<foo> +
+
<row> +
<id>2</id> +
<val xsi:nil="true"/> +
</row> +
+
<row> +
<id>1</id> +
<val xsi:nil="true"/> +
</row> +
+
</foo> +
+
</public> +
(1 row)
参考资料
- PostgreSQL 文档: 将表映射到 XML
