↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 函数百科 / XML 函数

FUNCTIONXML 函数

xml_is_well_formed_content

这些函数检查一个 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 的对应变体是否会成功有用。

These functions check whether a text string represents well-formed XML, returning a Boolean result.

XML 函数 引入 9.1 现存至 20 devel 1 条签名 0 次签名变更

分组
XML 函数
签名数
1 条
引入版本
9.1
状态
现存
签名变更
未变过
本版来源
英文原文

PostgreSQL 18.7 手册 · 9.15 XML 函数 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

说明

这些函数检查一个 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 ( 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 的对应变体是否会成功有用。

签名

PostgreSQL 18.7 里 xml_is_well_formed_content 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。

  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 的对应变体是否会成功有用。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。

  1. PostgreSQL 13 ← 12 手册重排

    这一跳手册重排了函数表的写法,签名文本整体改写,只记函数的增删,不逐条比较签名。

  2. PostgreSQL 9.1 ← 9.0 新增此函数

    PostgreSQL 9.1 起可用

签名矩阵

每条签名在给出了签名的 17 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。

存在 不存在

签名 9.19.29.39.49.59.61011121314151617181920
xml_is_well_formed_content(text) 存在 存在 存在 存在 存在 存在 存在 存在 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
xml_is_well_formed_content ( text ) → boolean 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在 存在

同组函数

函数 签名 主签名 版本变动 最近变更
XML FUNCTIONS XML 函数 29 个 ↗
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 谓词,不过它还提供了对一个名字空间映射参数的支持。 现存