FUNCTIONXML 函数
database_to_xml
这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。
These functions ignore tables that are not readable by the current user.
XML 函数 引入 8.3 现存至 20 devel 1 条签名 0 次签名变更
- 分组
- XML 函数
- 签名数
- 1 条
- 引入版本
- 8.3
- 状态
- 现存
- 签名变更
- 未变过
- 本版来源
- 英文原文
版本轨迹
相对 PostgreSQL 17 无变化。
说明
USAGE(查找)权限的模式。database_to_xml ( nulls boolean, tableforest boolean, targetns text ) → xml这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有
USAGE(查找)权限的模式。签名
PostgreSQL 18.7 里 database_to_xml 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。
-
database_to_xml(nullsboolean,tableforestboolean,targetnstext) →xml这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有USAGE(查找)权限的模式。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。
-
PostgreSQL 13 ← 12 手册重排
这一跳手册重排了函数表的写法,签名文本整体改写,只记函数的增删,不逐条比较签名。
-
PostgreSQL 8.4 ← 8.3 说明更新
说明更新
-
PostgreSQL 8.3 ← 8.2 新增此函数
PostgreSQL 8.3 起可用
签名矩阵
每条签名在给出了签名的 20 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。
存在 不存在
| 签名 | 8.3 | 8.4 | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
database_to_xml(nulls boolean, tableforest boolean, targetns text) |
存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 |
database_to_xml ( nulls boolean, tableforest boolean, targetns text ) → xml |
不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 |
同组函数
| 函数 | 签名 | 主签名 | 版本变动 | 最近变更 |
|---|---|---|---|---|
cursor_to_xml |
1 | cursor_to_xml ( cursor refcursor, count integer, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 下面的函数将会把关系表的内容映射成 XML 值。它们可以被看成是 XML 导出功能: | 现存 | |||
cursor_to_xmlschema |
1 | cursor_to_xmlschema ( cursor refcursor, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 必须传入相同的参数,才能得到彼此匹配的 XML 数据映射和 XML 模式文档。 | 现存 | |||
database_to_xml |
1 | database_to_xml ( nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。 | 现存 | |||
database_to_xml_and_xmlschema |
1 | database_to_xml_and_xmlschema ( nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。 | 现存 | |||
database_to_xmlschema |
1 | database_to_xmlschema ( nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。 | 现存 | |||
query_to_xml |
1 | query_to_xml ( query text, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 下面的函数将会把关系表的内容映射成 XML 值。它们可以被看成是 XML 导出功能: | 现存 | |||
query_to_xml_and_xmlschema |
1 | query_to_xml_and_xmlschema ( query text, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 下面的函数将会把关系表的内容映射成 XML 值。它们可以被看成是 XML 导出功能: | 现存 | |||
query_to_xmlschema |
1 | query_to_xmlschema ( query text, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 必须传入相同的参数,才能得到彼此匹配的 XML 数据映射和 XML 模式文档。 | 现存 | |||
schema_to_xml |
1 | schema_to_xml ( schema name, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。 | 现存 | |||
schema_to_xml_and_xmlschema |
1 | schema_to_xml_and_xmlschema ( schema name, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。 | 现存 | |||
schema_to_xmlschema |
1 | schema_to_xmlschema ( schema name, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 这些函数会忽略当前用户不可读的表。数据库范围的函数还会忽略当前用户没有 USAGE(查找)权限的模式。 | 现存 | |||
table_to_xml |
1 | table_to_xml ( table regclass, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 下面的函数将会把关系表的内容映射成 XML 值。它们可以被看成是 XML 导出功能: | 现存 | |||
table_to_xml_and_xmlschema |
1 | table_to_xml_and_xmlschema ( table regclass, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 下面的函数将会把关系表的内容映射成 XML 值。它们可以被看成是 XML 导出功能: | 现存 | |||
table_to_xmlschema |
1 | table_to_xmlschema ( table regclass, nulls boolean, tableforest boolean, targetns text ) → xml |
— | |
| 必须传入相同的参数,才能得到彼此匹配的 XML 数据映射和 XML 模式文档。 | 现存 | |||
xml_is_well_formed |
1 | xml_is_well_formed ( text ) → boolean |
— | |
| 这些函数检查一个 text 串是不是一个良构的 XML,返回一个布尔结果。xml_is_well_formed_document 检查一个良构的文档,而 xml_is_well_formed_content 检查良构的内容。如果 xmloption 配置参数被设置为 DOCUMENT,xml_is_well_formed 会做第一个函数的工作;如果配置参数被设置为 CONTENT,xml_is_well_formed 会做第二个函数的工作。这意味着 xml_is_well_formed 对于检查一个到类型 xml 的简单类型转换是否会成功非常有用,而其他两个函数对于检查 XMLPARSE 的对应变体是否会成功有用。 | 现存 | |||
xml_is_well_formed_content |
1 | xml_is_well_formed_content ( text ) → boolean |
— | |
| 这些函数检查一个 text 串是不是一个良构的 XML,返回一个布尔结果。xml_is_well_formed_document 检查一个良构的文档,而 xml_is_well_formed_content 检查良构的内容。如果 xmloption 配置参数被设置为 DOCUMENT,xml_is_well_formed 会做第一个函数的工作;如果配置参数被设置为 CONTENT,xml_is_well_formed 会做第二个函数的工作。这意味着 xml_is_well_formed 对于检查一个到类型 xml 的简单类型转换是否会成功非常有用,而其他两个函数对于检查 XMLPARSE 的对应变体是否会成功有用。 | 现存 | |||
xml_is_well_formed_document |
1 | xml_is_well_formed_document ( text ) → boolean |
— | |
| 这些函数检查一个 text 串是不是一个良构的 XML,返回一个布尔结果。xml_is_well_formed_document 检查一个良构的文档,而 xml_is_well_formed_content 检查良构的内容。如果 xmloption 配置参数被设置为 DOCUMENT,xml_is_well_formed 会做第一个函数的工作;如果配置参数被设置为 CONTENT,xml_is_well_formed 会做第二个函数的工作。这意味着 xml_is_well_formed 对于检查一个到类型 xml 的简单类型转换是否会成功非常有用,而其他两个函数对于检查 XMLPARSE 的对应变体是否会成功有用。 | 现存 | |||
xmlagg |
2 | xmlagg ( xml ) → xml |
172 次 | |
| 和这里描述的其他函数不同,函数 xmlagg 是一个聚合函数。它将聚合函数调用的输入值串接起来,非常像 xmlconcat 所做的事情,除了串接是跨行发生的而不是在单一行的多个表达式上发生。聚合函数的更多信息请见第 9.22 节。 | 现存 | |||
xmlcomment |
1 | xmlcomment ( text ) → xml |
— | |
| 函数 xmlcomment 创建了一个 XML 值,它包含一个使用指定文本作为内容的 XML 注释。该文本不能包含“--”,也不能以“-”结尾,否则该结果的结构不是一个合法的 XML 注释。如果参数为空,结果也为空。 | 现存 | |||
xmlconcat |
1 | xmlconcat ( xml [, ...] ) → xml |
— | |
| 函数 xmlconcat 将由各个独立 XML 值组成的列表串接成一个单独的值,这个值包含一个 XML 内容片段。空值会被忽略,只有当没有参数为非空时结果才为空。 | 现存 | |||
xmlelement |
1 | xmlelement ( NAME name [, XMLATTRIBUTES ( attvalue [AS attname] [, ...] ) ] [, content [, ...]] ) → xml |
— | |
| 表达式 xmlelement 使用给定名称、属性和内容产生一个 XML 元素。语法中显示的 name 和 attname 项是简单的标识符,而不是值。attvalue 和 content 项是表达式,它们可以产生任意 PostgreSQL 数据类型的值。XMLATTRIBUTES 的参数生成 XML 元素的属性;将 content 值连接起来形成其内容。 | 现存 | |||
XMLEXISTS |
1 | XMLEXISTS ( text PASSING [BY {REF|VALUE}] xml [BY {REF|VALUE}] ) → boolean |
121 次 | |
| 函数 xmlexists 对一个 XPath 1.0 表达式(第一个参数)求值,以传递的 XML 值作为其上下文项。如果求值结果产生一个空节点集,该函数返回 false,如果产生任何其他值,则返回 true。如果任何参数为空,则函数返回 null。作为上下文项传递的非空值必须是一个 XML 文档,而不是内容片段或任何非 XML 值。 | 现存 | |||
xmlforest |
1 | xmlforest ( content [AS name] [, ...] ) → xml |
— | |
| 表达式 xmlforest 使用给定名称和内容产生由元素构成的 XML 森林(序列)。与 xmlelement 一样,每个 name 都必须是一个简单的标识符,而 content 表达式可以有任何数据类型。 | 现存 | |||
xmlpi |
1 | xmlpi ( NAME name [, content] ) → xml |
— | |
| 表达式 xmlpi 创建一个 XML 处理指令。与 xmlelement 一样,name 必须是一个简单的标识符,而 content 表达式可以有任何数据类型。如果存在,content 不能包含字符序列?>。 | 现存 | |||
xmlroot |
1 | xmlroot ( xml, VERSION {text|NO VALUE} [, STANDALONE {YES|NO|NO VALUE} ] ) → xml |
8.41 次 | |
| 表达式 xmlroot 修改一个 XML 值的根节点的属性。如果指定了一个版本,它会替换根节点的版本声明中的值;如果指定了一个独立设置,它会替换根节点的独立声明中的值。 | 现存 | |||
XMLTABLE |
1 | XMLTABLE ( [XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] ) → setof record |
121 次 | |
| xmltable 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数,但它只能作为一个表出现在查询的 FROM 子句中。 | 现存 | |||
xmltext |
1 | xmltext ( text ) → xml |
— | |
| 函数 xmltext 返回一个只包含单个文本节点的 XML 值,该文本节点的内容就是输入参数。预定义实体,例如和号(&)、左右尖括号(< >)以及引号(""),都会被转义。 | 现存 | |||
xpath |
1 | xpath ( xpath text, xml xml [, nsarray text[]] ) → xml[] |
9.11 次 | |
| 函数 xpath 根据 XML 值 xml 计算 XPath 1.0 表达式 xpath(以文本形式给出)。它返回一个 XML 值的数组,该数组对应于该 XPath 表达式产生的节点集合。如果该 XPath 表达式返回一个标量值而不是一个节点集合,将会返回一个单一元素的数组。 | 现存 | |||
xpath_exists |
1 | xpath_exists ( xpath text, xml xml [, nsarray text[]] ) → boolean |
— | |
| 函数 xpath_exists 是 xpath 函数的一种特殊形式。这个函数不是返回满足 XPath 1.0 表达式的各个 XML 值,它返回一个布尔值表示查询是否被满足(具体来说,它是否产生了空节点集以外的任何值)。这个函数等价于标准的 XMLEXISTS 谓词,不过它还提供了对一个名字空间映射参数的支持。 | 现存 | |||