{"Entry":{"collection":"func","key":"xmltable","name":"XMLTABLE","aliases":[],"metadata":{"changed_in":["12"],"changes":[{"descriptions_changed":false,"doc_overhaul":false,"from":"9.6","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"added","to":"10"},{"descriptions_changed":false,"doc_overhaul":false,"from":"11","group_changed":null,"signatures":{"added":["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 } [, ...] )"],"removed":["xmltable( [XMLNAMESPACES(namespace uri AS namespace name[, ...]), ] row_expression PASSING [BY REF] document_expression [BY REF] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY } [, ...] )"]},"status":"changed","to":"12"},{"descriptions_changed":false,"doc_overhaul":true,"from":"12","group_changed":null,"signatures":{"added":[],"removed":[]},"status":"changed","to":"13"}],"content_hash":"17a4bc7d4147592dd46c6382f5a8f2fbac3af1e6b045ab676fe543cc8f856934","derived_content_hash":"9bc6e1706b104377e44df61816ec34d17276f5408dd240a7aae43d14b9d42ac4","documentation_refresh":{"batch":"20261113","original_source_rev":"wiki-repair-20261023:6e716ac179a7223bdef24d7e30d5668e66201e44fd253cd4829e9c9e097e1082","versions":{"14":"14.25","15":"15.20","16":"16.16","17":"17.12","18":"18.7","19":"19rc2"}},"first_version":"10","group":"xml","group_label":"Xml Functions","groups":["xml"],"imported_at":"2026-09-14T21:49:48.773799+08:00","last_version":"20","name":"XMLTABLE","name_key":"xmltable","position":15025,"present_in":["10","11","12","13","14","15","16","17","18","19","20"],"repair_provenance":{"original_source_revision":"2026-09-14T13:14:25.684213+00:00@99e6866c","receipt_sha256":"0fbc614dc3e7860b03514e1a6b76f4d3ae2cf25ee811b1be3f71f7f2cb84b6c1","repair":"wiki-repair-20261023"},"signature":"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","signature_count":1,"slug":"xmltable","source_rev":"wiki-repair-20261023:6e716ac179a7223bdef24d7e30d5668e66201e44fd253cd4829e9c9e097e1082","summary":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions.","summary_zh":""}},"Definition":{"Collection":"func","Key":"xmltable","SourceDatabase":"center","Version":"18","SourceTable":"func","SourceKey":"xmltable","SourceRevision":"wiki-repair-20261023:6e716ac179a7223bdef24d7e30d5668e66201e44fd253cd4829e9c9e097e1082","Facts":{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"xmltable 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 FROM 子句中。","description_zh_html":"\u003ccode class=\"function\"\u003exmltable\u003c/code\u003e 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e 子句中。","doc":{"anchor":"FUNCTIONS-XML-PROCESSING-XMLTABLE","file":"functions-xml.html","sha256":"01aeb9b85a44b934664d02e73f09eba80ac8da243706dd1ea2b4943d6cf43a31","slug":"18"},"documentation_revision":{"inputs":[{"file":"functions-xml.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"01aeb9b85a44b934664d02e73f09eba80ac8da243706dd1ea2b4943d6cf43a31","version":"18.7"},{"file":"functions-xml.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"7f81f95d894b56436ba5c9f248999c6f79a15eff2f8e02803e9578894005ba44","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"},"group":"xml","group_label":"XML 函数","lang":"en","layout":"table-new","pages":["functions-xml.html"],"prose_only":false,"signatures":[{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"xmltable 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 FROM 子句中。","description_zh_html":"\u003ccode class=\"function\"\u003exmltable\u003c/code\u003e 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e 子句中。","examples":[],"html":"\u003ccode class=\"function\"\u003eXMLTABLE\u003c/code\u003e ( [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eXMLNAMESPACES\u003c/code\u003e ( \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_uri\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003eAS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_name\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ), \u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003erow_expression\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003ePASSING\u003c/code\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003edocument_expression\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003ccode class=\"literal\"\u003eCOLUMNS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e { \u003cem class=\"replaceable\"\u003e\u003ccode\u003etype\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003ePATH\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ecolumn_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edefault_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eNOT NULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e\u003c/span\u003e] | \u003ccode class=\"literal\"\u003eFOR ORDINALITY\u003c/code\u003e } [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ) → \u003ccode class=\"returnvalue\"\u003esetof record\u003c/code\u003e","returns":"setof record","text":"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","zh_from":"same-version-manual"}],"translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/functions-xml.html","sha256":"fecb5d8486a96d59e4b5808eeaa769d216ab3be80602eb0c73702f28dd37388c"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"zh_from":"same-version-manual"},"ManualEvidence":{"doc":{"anchor":"FUNCTIONS-XML-PROCESSING-XMLTABLE","file":"functions-xml.html","sha256":"01aeb9b85a44b934664d02e73f09eba80ac8da243706dd1ea2b4943d6cf43a31","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"func","Key":"xmltable","SourceDatabase":"center","Version":"18","Locale":"en","Title":"XMLTABLE","Summary":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","BodyHTML":"The \u003ccode\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query\u0026#39;s \u003ccode\u003eFROM\u003c/code\u003e clause.","SourceRevision":"wiki-repair-20261023:6e716ac179a7223bdef24d7e30d5668e66201e44fd253cd4829e9c9e097e1082","ContentHash":"76b649b35ed7703e1f2f633b12efcb4910d955ebf5bdb2fb2eaea5afa6785534","Payload":{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","signatures":[{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"xmltable 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 FROM 子句中。","description_zh_html":"\u003ccode class=\"function\"\u003exmltable\u003c/code\u003e 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e 子句中。","examples":[],"html":"\u003ccode class=\"function\"\u003eXMLTABLE\u003c/code\u003e ( [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eXMLNAMESPACES\u003c/code\u003e ( \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_uri\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003eAS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_name\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ), \u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003erow_expression\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003ePASSING\u003c/code\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003edocument_expression\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003ccode class=\"literal\"\u003eCOLUMNS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e { \u003cem class=\"replaceable\"\u003e\u003ccode\u003etype\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003ePATH\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ecolumn_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edefault_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eNOT NULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e\u003c/span\u003e] | \u003ccode class=\"literal\"\u003eFOR ORDINALITY\u003c/code\u003e } [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ) → \u003ccode class=\"returnvalue\"\u003esetof record\u003c/code\u003e","returns":"setof record","text":"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","zh_from":"same-version-manual"}]}},"RequestedLocale":"en","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":[{"Version":"18","Ordinal":0,"Hash":"d7c83cadeb74490dc7afbc1de8bcdd99ccfca0324f2a6f5944d4cefd4b8cb95a","Text":"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","Returns":"setof record","Payload":{"description":"The xmltable expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's FROM clause.","description_html":"The \u003ccode class=\"function\"\u003exmltable\u003c/code\u003e expression produces a table based on an XML value, an XPath filter to extract rows, and a set of column definitions. Although it syntactically resembles a function, it can only appear as a table in a query's \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e clause.","description_zh":"xmltable 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 FROM 子句中。","description_zh_html":"\u003ccode class=\"function\"\u003exmltable\u003c/code\u003e 表达式根据给定的 XML 值、用于提取行的 XPath 过滤器和一组列定义生成一个表。虽然它在语法上类似于函数，但它只能作为一个表出现在查询的 \u003ccode class=\"literal\"\u003eFROM\u003c/code\u003e 子句中。","examples":[],"html":"\u003ccode class=\"function\"\u003eXMLTABLE\u003c/code\u003e ( [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eXMLNAMESPACES\u003c/code\u003e ( \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_uri\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003eAS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003enamespace_name\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ), \u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003erow_expression\u003c/code\u003e\u003c/em\u003e \u003ccode class=\"literal\"\u003ePASSING\u003c/code\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003cem class=\"replaceable\"\u003e\u003ccode\u003edocument_expression\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eBY\u003c/code\u003e {\u003ccode class=\"literal\"\u003eREF\u003c/code\u003e|\u003ccode class=\"literal\"\u003eVALUE\u003c/code\u003e}\u003c/span\u003e] \u003ccode class=\"literal\"\u003eCOLUMNS\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/em\u003e { \u003cem class=\"replaceable\"\u003e\u003ccode\u003etype\u003c/code\u003e\u003c/em\u003e [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003ePATH\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003ecolumn_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eDEFAULT\u003c/code\u003e \u003cem class=\"replaceable\"\u003e\u003ccode\u003edefault_expression\u003c/code\u003e\u003c/em\u003e\u003c/span\u003e] [\u003cspan class=\"optional\"\u003e\u003ccode class=\"literal\"\u003eNOT NULL\u003c/code\u003e | \u003ccode class=\"literal\"\u003eNULL\u003c/code\u003e\u003c/span\u003e] | \u003ccode class=\"literal\"\u003eFOR ORDINALITY\u003c/code\u003e } [\u003cspan class=\"optional\"\u003e, ...\u003c/span\u003e] ) → \u003ccode class=\"returnvalue\"\u003esetof record\u003c/code\u003e","returns":"setof record","text":"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","zh_from":"same-version-manual"}}],"Spellings":null,"SQLState":null,"Evidence":null}
