# XML类型函数
![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- 以下所有XML类型函数中，当GUC参数xmloption为content时，XML声明中encoding值可以取为ZHS16GBK；当GUC参数xmloption为document时，XML声明中encoding值不可以取为ZHS16GBK，若设置encoding = ZHS16GBK，则会发生报错。
- xml类型函数支持的最大XML嵌套层数不能超过256层。
 
- xmlparse ( { DOCUMENT \| CONTENT } value \[wellformed\]) 描述：使用函数xmlparse，从字符数据产生XML类型的值。
  参数：数据类型为text。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT XMLPARSE (DOCUMENT '<?xml version="1.0"?><book><title>Manual</title><chapter>...</chapter></book>');
                        xmlparse                         
  ----------------------------------------------------------
   <book><title>Manual</title><chapter>...</chapter></book>
  (1 row)
  gaussdb=# SELECT XMLPARSE (CONTENT 'abc<foo>bar</foo><bar>foo</bar>');
            xmlparse             
  ---------------------------------
   abc<foo>bar</foo><bar>foo</bar>
  (1 row)
  gaussdb=# SELECT XMLPARSE (CONTENT 'abc<foo>bar</foo' wellformed);
       xmlparse
  ------------------
   abc<foo>bar</foo
  (1 row)
  ```
  

- xmlserialize( { DOCUMENT \| CONTENT } value AS type ) 描述：使用函数xmlserialize，从XML产生一个字符串。
  参数：数据类型为xml。
  返回值类型：数据类型可以为character、character varying或text（或其中某个的变种）。
  示例：
  ```
  gaussdb=# SELECT xmlserialize(CONTENT 'good' AS CHAR(10));
   xmlserialize 
  --------------
   good
  (1 row)
  gaussdb=# SELECT xmlserialize(DOCUMENT '<head>bad</head>' as text);
     xmlserialize   
  ------------------
   <head>bad</head>
  (1 row)
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  当一个字符串值在没有通过xmlparse或xmlserialize的情况下，与xml类型进行转换时，具体选择DOCUMENT或CONTENT由"XML OPTION"会话配置参数决定，这个配置参数可以由标准命令来设置：
  ```
  SET XML OPTION { DOCUMENT | CONTENT };
  ```
  或使用类似的语法来设置：
  ```
  SET xmloption TO { DOCUMENT | CONTENT };
  ```
  
- xmlcomment(text) 描述：创建一个XML值，并且它包含一个用指定文本作为内容的XML注释。该文本不包含"--"字符且结尾不存在"-"字符，符合XML注释的格式要求。当参数为空时，结果也为空。
  参数：数据类型为text。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT xmlcomment('hello');
    xmlcomment
  --------------
   <!--hello-->
  ```
  
- xmlconcat(xml\[, ...\]) 描述：将由单个XML值组成的列表串接成一个单独的值，该值包含一个XML的内容片段。其中空值会被忽略，并且只有当所有参数都为空时结果才为空。在兼容ORA数据库模式下，设置a_format_version值为10c和a_format_dev_version值为s2，增加了校验输入片段是否为非良构XML文本。
  参数：数据类型为XML。
  返回值类型：XML
  示例1：
  ```
  gaussdb=# SET xmloption=content;
  SET
  gaussdb=# SELECT XMLCONCAT(('<?xml version="1.0" encoding="GB2312" standalone="no"?><bar>foo</bar>'),('<?xml version="1.0" encoding="GB2312" standalone="no" ?><bar>foo</bar>')) ;
                               xmlconcat
  -------------------------------------------------------------------
  <?xml version="1.0" standalone="no"?><bar>foo</bar><bar>foo</bar>
  (1 row)
  gaussdb=# SELECT XMLCONCAT('abc>');
   xmlconcat
  -----------
   abc>
  (1 row)
  ```
  示例2：兼容ORA数据库的语法示例。
  ```
  gaussdb=# CREATE DATABASE gaussdb_ora DBCOMPATIBILITY='ORA';
  CREATE DATABASE
  gaussdb=# \c gaussdb_ora
  gaussdb_ora=# SET a_format_version='10c';
  SET
  gaussdb_ora=# SET a_format_dev_version=s2;
  SET
  gaussdb_ora=# SET xmloption=content;
  SET
  gaussdb_ora=# SELECT XMLCONCAT(('<?xml version="1.0" encoding="GB2312" standalone="no"?><bar>foo</bar>'),('<?xml version="1.0" encoding="GB2312" standalone="no" ?><bar>foo</bar>')) ;
                               xmlconcat
  -------------------------------------------------------------------
   <?xml version="1.0" standalone="no"?><bar>foo</bar><bar>foo</bar>
  (1 row)
  gaussdb_ora=# SELECT XMLCONCAT('abc>');
  ERROR:  invalid XML document
  DETAIL:  line 1: Start tag expected, '<' not found
  abc>
  ^
  CONTEXT:  referenced column: xmlconcat
  gaussdb_ora=# \c postgres
  gaussdb=# DROP DATABASE gaussdb_ora;
  DROP DATABASE
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  在兼容ORA数据库模式下，设置a_format_version值为10c和a_format_dev_version值为s2时，若XML声明中encoding属性值为ZHS16GBK，则XMLCONCAT函数将会发生报错。
  

- xmlagg(xml \[order_by_clause\]) 描述：该函数是一个聚集函数，它将聚集函数调用的输入值串接起来，且支持跨行串接，order_by_clause详见[SELECT](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0381.html)。在兼容ORA数据库模式下，设置a_format_version值为10c和a_format_dev_version值为s2，数据库xmloption参数默认为content，当xmloption设置为document时，使用换行符串接多行XML。若XML声明中encoding属性值不为默认编码UTF-8时，聚集结果有XML声明。
  参数：XML
  返回值类型：XML
  示例1：
  ```
  gaussdb=# CREATE TABLE xmltest (
              id int,
              data xml
             );
  NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using 'id' as the distribution column by default.
  HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column.
  gaussdb=# INSERT INTO xmltest VALUES (1, '<value>one</value>');
  INSERT 0 1
  gaussdb=# INSERT INTO xmltest VALUES (2, '<value>two</value>');
  INSERT 0 1
  gaussdb=# SELECT xmlagg(data) FROM xmltest;
                  xmlagg                
  --------------------------------------
   <value>one</value><value>two</value>
  (1 row)
  ```
  示例2：为兼容ORA数据库的语法示例。
  ```
  gaussdb=# SET xmloption=document;
  SET
  gaussdb=# SELECT xmlagg(data) FROM xmltest;
         xmlagg       
  --------------------
   <value>one</value>+
   <value>two</value>
  (1 row)
  gaussdb=# DELETE FROM XMLTEST;
  DELETE 2
  gaussdb=# INSERT INTO xmltest VALUES (1, '<?xml version="1.0" encoding="GBK"?><value>one</value>');
  INSERT 0 1
  gaussdb=# INSERT INTO xmltest VALUES (2, '<?xml version="1.0" encoding="GBK"?><value>two</value>');
  INSERT 0 1
  gaussdb=# SELECT xmlagg(data) FROM xmltest;
                           xmlagg                         
  --------------------------------------------------------
   <?xml version="1.0" encoding="GBK"?><value>one</value>+
   <value>two</value>
  (1 row)
  gaussdb=# SELECT xmlagg(data order by id desc) FROM xmltest;
                           xmlagg                         
  --------------------------------------------------------
   <?xml version="1.0" encoding="GBK"?><value>two</value>+
   <value>one</value>
  (1 row)
  gaussdb=# DROP TABLE xmltest;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  xmlagg函数的输入与返回类型均为XML类型。由于单个XML数据类型的大小上限为1GB，因此xmlagg不支持聚合结果超过1GB 的场景。
  
- xmlelement( \[ ENTITYESCAPING \| NOENTITYESCAPING \] { \[ NAME \] element_name \| EVALNAME element_name } \[ , xmlattributes( \[ ENTITYESCAPING \| NOENTITYESCAPING \] value \[ \[ AS \] attname \| AS EVALNAME attname \] \[ , ... \] ) \] \[ , content \[ \[ AS \] alias \] \[ , ... \] \] ) 描述：使用给定的名称、属性和内容产生一个XML元素。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT xmlelement(name foo);
   xmlelement
  ------------
   <foo/>
  --在ORA兼容模式下。
  gaussdb=# CREATE DATABASE gaussdb_ora DBCOMPATIBILITY='ORA';
  CREATE DATABASE
  gaussdb=# \c gaussdb_ora
  gaussdb_ora=# SET a_format_version='10c';
  SET
  gaussdb_ora=# SET a_format_dev_version=s2;
  SET
  --xmlelement中默认不设置或者设置ENTITYESCAPING关键字时，xmlelement的内容中的保留字符将会被转义。
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", 'a$><&"b');
                           xmlelement                          
  -------------------------------------------------------------
   <entityescaping<>>a$&gt;&lt;&amp;&quot;b</entityescaping<>>
  (1 row)
  gaussdb_ora=# SELECT xmlelement(entityescaping "entityescaping<>", 'a$><&"b');
                           xmlelement                          
  -------------------------------------------------------------
   <entityescaping<>>a$&gt;&lt;&amp;&quot;b</entityescaping<>>
  (1 row)
  --xmlelement中设置NOENTITYESCAPING关键字时，xmlelement的内容中的保留字符将不会被转义。
  gaussdb_ora=# SELECT xmlelement(noentityescaping "entityescaping<>", 'a$><&"b');
                    xmlelement                  
  ----------------------------------------------
   <entityescaping<>>a$><&"b</entityescaping<>>
  (1 row)
  --xmlelement中对内容使用[as] alias声明别名时，内容值类型必须为xml类型。
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", '<abc/>' b);
  ERROR:  argument of XMLELEMENT must be type xml, not type unknown
  LINE 1: SELECT xmlelement("entityescaping<>", '<abc/>' b);
                                                ^
  CONTEXT:  referenced column: xmlelement
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", '<abc/>' as b);
  ERROR:  argument of XMLELEMENT must be type xml, not type unknown
  LINE 1: SELECT xmlelement("entityescaping<>", '<abc/>' as b);
                                                ^
  CONTEXT:  referenced column: xmlelement
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", xml('<abc/>') b);
                   xmlelement                  
  ---------------------------------------------
   <entityescaping<>><abc/></entityescaping<>>
  (1 row)
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", xml('<abc/>') as b);
                   xmlelement                  
  ---------------------------------------------
   <entityescaping<>><abc/></entityescaping<>>
  (1 row)
  --xmlattributes中默认不设置或者设置ENTITYESCAPING关键字时，xmlattributes的内容中的保留字符将会被转义。
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", xmlattributes('entityescaping<>' "entityescaping<>"));
                            xmlelement                           
  ---------------------------------------------------------------
   <entityescaping<> entityescaping<>="entityescaping&lt;&gt;"/>
  (1 row)
  gaussdb_ora=# SELECT xmlelement(name "entityescaping<>", xmlattributes(entityescaping 'entityescaping<>' "entityescaping<>"));
                            xmlelement                           
  ---------------------------------------------------------------
   <entityescaping<> entityescaping<>="entityescaping&lt;&gt;"/>
  (1 row)
  --xmlattributes中设置NOENTITYESCAPING关键字时，xmlattributes的内容中的保留字符将不会被转义。
  gaussdb_ora=# SELECT xmlelement("entityescaping<>", xmlattributes(noentityescaping 'entityescaping<>' "entityescaping<>"));
                         xmlelement                        
  ---------------------------------------------------------
   <entityescaping<> entityescaping<>="entityescaping<>"/>
  (1 row)
  gaussdb_ora=# \c postgres
  gaussdb=# DROP DATABASE gaussdb_ora;
  DROP DATABASE
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - xmlelement和xmlattributes的name字段赋NULL时，行为与O不一致。xmlelement的name字段赋NULL时，结果显示name信息为空，且不显示属性信息。xmlattributes的name字段赋NULL时，不显示属性信息。
  
  - 设置如下两个参数后，xmlelement的内容转义规则为ORA兼容，未设置时xmlelement的内容转义规则为PG兼容。
    ```
    SET a_format_version='10c';
    SET a_format_dev_version=s2;
    ```
    
    

- xmlforest(content \[AS name\] \[, ...\]) 描述：使用给定名称和内容产生一个元素的XML序列。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT xmlforest('abc' AS foo, 123 AS bar);
            xmlforest
  ------------------------------
   <foo>abc</foo><bar>123</bar>
  ```
  
- xmlpi(name target \[, content\]) 描述：创建一个XML处理指令。若内容不为空，则内容不能包含字符序列。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT xmlpi(name php, 'echo "hello world";');
              xmlpi
  -----------------------------
   <?php echo "hello world";?>
  ```
  
- xmlroot(xml, version text \| no value \[, standalone yes\|no\|no value\]) 描述：修改一个XML值的根节点的属性。如果指定了一个版本，它会替换根节点的版本声明中的值；如果指定了一个独立设置，它会替换根节点的独立声明中的值。
  示例：
  ```
  gaussdb=# SELECT xmlroot('<?xml version="1.1"?><content>abc</content>',version '1.0', standalone yes);
                             xmlroot
  --------------------------------------------------------------
   <?xml version="1.0" standalone="yes"?><content>abc</content>
  (1 row)
  ```
  
- xmlexists(text passing \[BY REF\] xml \[BY REF\]) 描述：评估一个XPath 1.0表达式(第一个参数)，以传递的XML值作为其上下文项。 如果评估的结果是一个空节点集，该函数返回false；如果结果是任何其他值，则返回true。 如果任何参数为空，则函数返回null。 作为上下文项传递的非空值必须是一个XML文档，而不是内容片段或任何非XML值。
  参数：XML
  返回值类型：BOOLEAN
  示例：
  ```
  gaussdb=# SELECT xmlexists('//town[text() = ''Toronto'']' PASSING BY REF '<towns><town>Toronto</town><town>Ottawa</town></towns>');
   xmlexists
  ------------
   t
  (1 row)
  ```
  
- xml_is_well_formed(text) 描述：检查text是不是正确的XML类型格式、返回值为布尔类型。
  参数：text
  返回值类型：BOOLEAN
  示例：
  ```
  gaussdb=# SELECT xml_is_well_formed('<>');
   xml_is_well_formed 
  --------------------
   f
  (1 row)
  ```
  
- xml_is_well_formed_document(text) 描述：检查text是否为良构的XML document类型格式，返回值为布尔类型。
  参数：text
  返回值类型：BOOLEAN
  示例：
  ```
  gaussdb=# SELECT xml_is_well_formed_document('<pg:foo xmlns:pg="http://postgresql.org/stuff">bar</pg:foo>');
   xml_is_well_formed_document 
  -----------------------------
   t
  (1 row)
  ```
  
- xml_is_well_formed_content(text) 描述：检查text是否为良构的XML content类型格式，返回值为布尔类型。
  参数：text
  返回值类型：BOOLEAN
  示例：
  ```
  gaussdb=# SELECT xml_is_well_formed_content('k');
   xml_is_well_formed_content
  ----------------------------
   t
  (1 row)
  ```
  
- xpath(xpath, xml \[, nsarray\]) 描述：在XML类型的数据xml上，计算XPath 1.0表达式（如：xpath (a text value)）。它返回一个XML值的数组，该数组对应于该XPath表达式产生的节点集合。如果该XPath表达式返回一个标量值而不是一个节点集合，将会返回一个单一元素的数组。
  第二个参数必须是一个良构的XML文档。它必须有一个单一根节点元素。
  该函数可选的第三个参数是一个名字空间映射的数组。这个数组应该是一个二维text数组，其第二轴长度等于2（即应该是一个数组的数组，其中每一个都刚好由2个元素组成）。每个数组项的第一个元素是名字空间的名称（别名），第二个元素是名字空间的URI。并不要求在这个数组中提供的别名和在XML文档本身中使用的那些名字空间相同（即在XML文档中和在xpath函数环境中，别名都是本地的）。
  返回值类型：xml\[\]
  示例：
  ```
  gaussdb=# SELECT xpath('/my:a/text()', '<my:a xmlns:my="http://example.com">test</my:a>',ARRAY[ARRAY['my', 'http://example.com']]);
   xpath  
  --------
   {test}
  (1 row)
  ```
  
- xpath_exists(xpath, xml \[, nsarray\]) 描述：该函数是xpath函数的一种特殊形式。这个函数不是返回满足XPath 1.0表达式的单一XML值，它返回一个布尔值表示查询是否被满足(它是否产生了空节点集以外的任何值)。这个函数等价于标准的XMLEXISTS谓词，不过它还提供了对一个名字空间映射参数的支持。
  返回值类型：BOOLEAN
  示例：
  ```
  gaussdb=# SELECT xpath_exists('/my:a/text()', '<my:a xmlns:my="http://example.com">test</my:a>',ARRAY[ARRAY['my', 'http://example.com']]);
   xpath_exists  
  --------------
   t
  (1 row)
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  以下XML类型函数示例中，需进行前置数据准备，如下所示：
  ```
  gaussdb=# CREATE SCHEMA testxmlschema;
  CREATE SCHEMA
  gaussdb=# CREATE TABLE testxmlschema.test1 (a int, b text);
  CREATE TABLE
  gaussdb=# INSERT INTO testxmlschema.test1 VALUES (1, 'one'), (2, 'two'), (-1, null);
  INSERT 0 3
  gaussdb=# CREATE DATABASE test;
  CREATE DATABASE
  --示例执行结束后，可使用如下命令删除上述前置数据。
  gaussdb=# DROP DATABASE test;
  DROP DATABASE
  gaussdb=# DROP TABLE testxmlschema.test1;
  DROP TABLE
  gaussdb=# DROP SCHEMA testxmlschema;
  DROP SCHEMA
  ```
  
- query_to_xml(query text, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将query查询的内容映射成XML模式文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT query_to_xml('SELECT * FROM testxmlschema.test1', false, false, '');
                           query_to_xml                          
  ---------------------------------------------------------------
   <table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
                                                                +
   <row>                                                        +
     <a>1</a>                                                   +
     <b>one</b>                                                 +
   </row>                                                       +
                                                                +
   <row>                                                        +
     <a>2</a>                                                   +
     <b>two</b>                                                 +
   </row>                                                       +
                                                                +
   <row>                                                        +
     <a>-1</a>                                                  +
   </row>                                                       +
                                                                +
   </table>                                                     +
  (1 row)
  ```
  
- query_to_xmlschema(query text, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将query查询的内容映射成XML文档和XML模式文档，并把两个文档连接在一起。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT query_to_xmlschema('SELECT * FROM testxmlschema.test1', false, false, '');
                                        query_to_xmlschema                                      
  ----------------------------------------------------------------------------------------------
   <xsd:schema                                                                                 +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                           +
                                                                                               +
   <xsd:simpleType name="INTEGER">                                                             +
     <xsd:restriction base="xsd:int">                                                          +
       <xsd:maxInclusive value="2147483647"/>                                                  +
       <xsd:minInclusive value="-2147483648"/>                                                 +
     </xsd:restriction>                                                                        +
   </xsd:simpleType>                                                                           +
                                                                                               +
   <xsd:simpleType name="UDT.regression.pg_catalog.text">                                      +
     <xsd:restriction base="xsd:string">                                                       +
     </xsd:restriction>                                                                        +
   </xsd:simpleType>                                                                           +
                                                                                               +
   <xsd:complexType name="RowType">                                                            +
     <xsd:sequence>                                                                            +
       <xsd:element name="a" type="INTEGER" minOccurs="0"></xsd:element>                       +
       <xsd:element name="b" type="UDT.regression.pg_catalog.text" minOccurs="0"></xsd:element>+
     </xsd:sequence>                                                                           +
   </xsd:complexType>                                                                          +
                                                                                               +
   <xsd:complexType name="TableType">                                                          +
     <xsd:sequence>                                                                            +
       <xsd:element name="row" type="RowType" minOccurs="0" maxOccurs="unbounded"/>            +
     </xsd:sequence>                                                                           +
   </xsd:complexType>                                                                          +
                                                                                               +
   <xsd:element name="table" type="TableType"/>                                                +
                                                                                               +
   </xsd:schema>
  (1 row)
  ```
  
- query_to_xml_and_xmlschema(query text, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将query查询的内容映射成XML文档和XML模式文档，并把两个文档连接在一起。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT query_to_xml_and_xmlschema('SELECT * FROM testxmlschema.test1', true, true, '');
                                     query_to_xml_and_xmlschema                                   
  ------------------------------------------------------------------------------------------------
   <xsd:schema                                                                                   +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                             +
                                                                                                 +
   <xsd:simpleType name="INTEGER">                                                               +
     <xsd:restriction base="xsd:int">                                                            +
       <xsd:maxInclusive value="2147483647"/>                                                    +
       <xsd:minInclusive value="-2147483648"/>                                                   +
     </xsd:restriction>                                                                          +
   </xsd:simpleType>                                                                             +
                                                                                                 +
   <xsd:simpleType name="UDT.regression.pg_catalog.text">                                        +
     <xsd:restriction base="xsd:string">                                                         +
     </xsd:restriction>                                                                          +
   </xsd:simpleType>                                                                             +
                                                                                                 +
   <xsd:complexType name="RowType">                                                              +
     <xsd:sequence>                                                                              +
       <xsd:element name="a" type="INTEGER" nillable="true"></xsd:element>                       +
       <xsd:element name="b" type="UDT.regression.pg_catalog.text" nillable="true"></xsd:element>+
     </xsd:sequence>                                                                             +
   </xsd:complexType>                                                                            +
                                                                                                 +
   <xsd:element name="row" type="RowType"/>                                                      +
                                                                                                 +
   </xsd:schema>                                                                                 +
                                                                                                 +
   <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">                                   +
                                                                                                 +
     <a>1</a>                                                                                    +
     <b>one</b>                                                                                  +
   </row>                                                                                        +
                                                                                                 +
   <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">                                   +
                                                                                                 +
     <a>2</a>                                                                                    +
     <b>two</b>                                                                                  +
   </row>                                                                                        +
                                                                                                 +
   <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">                                   +
                                                                                                 +
     <a>-1</a>                                                                                   +
     <b xsi:nil="true"/>                                                                         +
   </row>                                                                                        +
                                                                                                 +
  (1 row)
  ```
  
- cursor_to_xml(cursor refcursor, count int, nulls boolean,tableforest boolean, targetns text) 描述：该函数会将游标查询的内容映射成XML文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# CURSOR xc WITH HOLD FOR SELECT * FROM testxmlschema.test1 ORDER BY 1, 2;
  DECLARE CURSOR
  gaussdb=# SELECT cursor_to_xml('xc'::refcursor, 5, false, true, '');
                          cursor_to_xml                        
  -------------------------------------------------------------
   <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
                                                              +
     <a>-1</a>                                                +
   </row>                                                     +
                                                              +
   <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
                                                              +
     <a>1</a>                                                 +
     <b>one</b>                                               +
   </row>                                                     +
                                                              +
   <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
                                                              +
     <a>2</a>                                                 +
     <b>two</b>                                               +
   </row>                                                     +
                                                              +
  (1 row)
  ```
  
- cursor_to_xmlschema(cursor refcursor, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将游标查询的内容映射成XML模式文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT cursor_to_xmlschema('xc'::refcursor, true, false, '');
                                        cursor_to_xmlschema                                       
  ------------------------------------------------------------------------------------------------
   <xsd:schema                                                                                   +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                             +
                                                                                                 +
   <xsd:simpleType name="INTEGER">                                                               +
     <xsd:restriction base="xsd:int">                                                            +
       <xsd:maxInclusive value="2147483647"/>                                                    +
       <xsd:minInclusive value="-2147483648"/>                                                   +
     </xsd:restriction>                                                                          +
   </xsd:simpleType>                                                                             +
                                                                                                 +
   <xsd:simpleType name="UDT.regression.pg_catalog.text">                                        +
     <xsd:restriction base="xsd:string">                                                         +
     </xsd:restriction>                                                                          +
   </xsd:simpleType>                                                                             +
                                                                                                 +
   <xsd:complexType name="RowType">                                                              +
     <xsd:sequence>                                                                              +
       <xsd:element name="a" type="INTEGER" nillable="true"></xsd:element>                       +
       <xsd:element name="b" type="UDT.regression.pg_catalog.text" nillable="true"></xsd:element>+
     </xsd:sequence>                                                                             +
   </xsd:complexType>                                                                            +
                                                                                                 +
   <xsd:complexType name="TableType">                                                            +
     <xsd:sequence>                                                                              +
       <xsd:element name="row" type="RowType" minOccurs="0" maxOccurs="unbounded"/>              +
     </xsd:sequence>                                                                             +
   </xsd:complexType>                                                                            +
                                                                                                 +
   <xsd:element name="table" type="TableType"/>                                                  +
                                                                                                 +
   </xsd:schema>
  (1 row)
  ```
  
- schema_to_xml(schema name, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将整个模式的内容映射成XML文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT schema_to_xml('testxmlschema', false, true, '');
                               schema_to_xml                             
  -----------------------------------------------------------------------
   <testxmlschema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
                                                                        +
   <test1>                                                              +
                                                                        +
     <a>1</a>                                                           +
     <b>one</b>                                                         +
   </test1>                                                             +
                                                                        +
   <test1>                                                              +
                                                                        +
     <a>2</a>                                                           +
     <b>two</b>                                                         +
   </test1>                                                             +
                                                                        +
   <test1>                                                              +
                                                                        +
     <a>-1</a>                                                          +
   </test1>                                                             +
                                                                        +
                                                                        +
   </testxmlschema>                                                     +
  (1 row)
  ```
  
- schema_to_xmlschema(schema name, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将整个模式的内容映射成XML模式文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT schema_to_xmlschema('testxmlschema', false, true, '');
                                              schema_to_xmlschema                                            
  -----------------------------------------------------------------------------------------------------------
   <xsd:schema                                                                                              +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                                        +
                                                                                                            +
   <xsd:simpleType name="INTEGER">                                                                          +
     <xsd:restriction base="xsd:int">                                                                       +
       <xsd:maxInclusive value="2147483647"/>                                                               +
       <xsd:minInclusive value="-2147483648"/>                                                              +
     </xsd:restriction>                                                                                     +
   </xsd:simpleType>                                                                                        +
                                                                                                            +
   <xsd:simpleType name="UDT.t1.pg_catalog.text">                                                           +
     <xsd:restriction base="xsd:string">                                                                    +
     </xsd:restriction>                                                                                     +
   </xsd:simpleType>                                                                                        +
                                                                                                            +
   <xsd:complexType name="SchemaType.t1.testxmlschema">                                                     +
     <xsd:sequence>                                                                                         +
       <xsd:element name="test1" type="RowType.t1.testxmlschema.test1" minOccurs="0" maxOccurs="unbounded"/>+
     </xsd:sequence>                                                                                        +
   </xsd:complexType>                                                                                       +
                                                                                                            +
   <xsd:element name="testxmlschema" type="SchemaType.t1.testxmlschema"/>                                   +
                                                                                                            +
   </xsd:schema>
  (1 row)
  ```
  
- schema_to_xml_and_xmlschema(schema name, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将整个模式的内容映射成XML文档和XML模式文档，并把两个文档连接在一起。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT schema_to_xml_and_xmlschema('testxmlschema', true, true, 'foo');
                                           schema_to_xml_and_xmlschema                                          
  --------------------------------------------------------------------------------------------------------------
   <testxmlschema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="foo" xsi:schemaLocation="foo #">+
                                                                                                               +
                                                                                       +
   <xsd:schema                                                                                                 +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"                                                            +
       targetNamespace="foo"                                                                                   +
       elementFormDefault="qualified">                                                                         +
                                                                                                               +
   <xsd:simpleType name="INTEGER">                                                                             +
     <xsd:restriction base="xsd:int">                                                                          +
       <xsd:maxInclusive value="2147483647"/>                                                                  +
       <xsd:minInclusive value="-2147483648"/>                                                                 +
     </xsd:restriction>                                                                                        +
   </xsd:simpleType>                                                                                           +
                                                                                                               +
   <xsd:simpleType name="UDT.t1.pg_catalog.text">                                                              +
     <xsd:restriction base="xsd:string">                                                                       +
     </xsd:restriction>                                                                                        +
   </xsd:simpleType>                                                                                           +
                                                                                                               +
   <xsd:complexType name="SchemaType.t1.testxmlschema">                                                        +
     <xsd:sequence>                                                                                            +
       <xsd:element name="test1" type="RowType.t1.testxmlschema.test1" minOccurs="0" maxOccurs="unbounded"/>   +
     </xsd:sequence>                                                                                           +
   </xsd:complexType>                                                                                          +
                                                                                                               +
   <xsd:element name="testxmlschema" type="SchemaType.t1.testxmlschema"/>                                      +
                                                                                                               +
   </xsd:schema>                                                                                               +
                                                                                                               +
   <test1>                                                                                                     +
                                                                                                               +
     <a>1</a>                                                                                                  +
     <b>one</b>                                                                                                +
   </test1>                                                                                                    +
                                                                                                               +
   <test1>                                                                                                     +
                                                                                                               +
     <a>2</a>                                                                                                  +
     <b>two</b>                                                                                                +
   </test1>                                                                                                    +
                                                                                                               +
   <test1>                                                                                                     +
                                                                                                               +
     <a>-1</a>                                                                                                 +
     <b xsi:nil="true"/>                                                                                       +
   </test1>                                                                                                    +
                                                                                                               +
                                                                                                               +
   </testxmlschema>                                                                                            +
  (1 row)
  ```
  
- database_to_xml(nulls boolean, tableforest boolean, targetns text) 描述：该函数会将整个数据库的内容映射成XML文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT database_to_xml(true, true, 'test');
                                database_to_xml                              
  ---------------------------------------------------------------------------
   <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="test">+
                                                                            +
   <dbe_x005F_xml>                                                          +
                                                                            +
   </dbe_x005F_xml>                                                         +
                                                                            +
   <dbe_x005F_xmldom>                                                       +
                                                                            +
   </dbe_x005F_xmldom>                                                      +
                                                                            +
   <dbe_x005F_xmlparser>                                                    +
                                                                            +
   </dbe_x005F_xmlparser>                                                   +
                                                                            +
   <public>                                                                 +
                                                                            +
   </public>                                                                +
                                                                            +
   </test>                                                                  +
  (1 row)
  ```
  
- database_to_xmlschema(nulls boolean, tableforest boolean, targetns text) 描述：该函数会将整个数据库的内容映射成XML模式文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT database_to_xmlschema(true, true, 'test');
                                    database_to_xmlschema                                   
  ------------------------------------------------------------------------------------------
   <xsd:schema                                                                             +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"                                        +
       targetNamespace="test"                                                              +
       elementFormDefault="qualified">                                                     +
                                                                                           +
   <xsd:complexType name="CatalogType.test">                                               +
     <xsd:all>                                                                             +
       <xsd:element name="dbe_x005F_xml" type="SchemaType.test.dbe_x005F_xml"/>            +
       <xsd:element name="dbe_x005F_xmldom" type="SchemaType.test.dbe_x005F_xmldom"/>      +
       <xsd:element name="dbe_x005F_xmlparser" type="SchemaType.test.dbe_x005F_xmlparser"/>+
       <xsd:element name="public" type="SchemaType.test.public"/>                          +
     </xsd:all>                                                                            +
   </xsd:complexType>                                                                      +
                                                                                           +
   <xsd:element name="test" type="CatalogType.test"/>                                      +
                                                                                           +
   </xsd:schema>
  (1 row)
  ```
  
- database_to_xml_and_xmlschema(nulls boolean, tableforest boolean, targetns text) 描述：该函数会将整个数据库的内容映射成XML文档和XML模式文档，并把两个文档连接在一起。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT database_to_xml_and_xmlschema(true, true, 'test');
                                       database_to_xml_and_xmlschema                                     
  -------------------------------------------------------------------------------------------------------
   <test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="test" xsi:schemaLocation="test #">+
                                                                                                        +
   <xsd:schema                                                                                          +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"                                                     +
       targetNamespace="test"                                                                           +
       elementFormDefault="qualified">                                                                  +
                                                                                                        +
   <xsd:complexType name="CatalogType.test">                                                            +
     <xsd:all>                                                                                          +
       <xsd:element name="dbe_x005F_xml" type="SchemaType.test.dbe_x005F_xml"/>                         +
       <xsd:element name="dbe_x005F_xmldom" type="SchemaType.test.dbe_x005F_xmldom"/>                   +
       <xsd:element name="dbe_x005F_xmlparser" type="SchemaType.test.dbe_x005F_xmlparser"/>             +
       <xsd:element name="public" type="SchemaType.test.public"/>                                       +
     </xsd:all>                                                                                         +
   </xsd:complexType>                                                                                   +
                                                                                                        +
   <xsd:element name="test" type="CatalogType.test"/>                                                   +
                                                                                                        +
   </xsd:schema>                                                                                        +
                                                                                                        +
   <dbe_x005F_xml>                                                                                      +
                                                                                                        +
   </dbe_x005F_xml>                                                                                     +
                                                                                                        +
   <dbe_x005F_xmldom>                                                                                   +
                                                                                                        +
   </dbe_x005F_xmldom>                                                                                  +
                                                                                                        +
   <dbe_x005F_xmlparser>                                                                                +
                                                                                                        +
   </dbe_x005F_xmlparser>                                                                               +
                                                                                                        +
   <public>                                                                                             +
                                                                                                        +
   </public>                                                                                            +
                                                                                                        +
   </test>                                                                                              +
  (1 row)
  ```
  
- table_to_xml(tbl regclass, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将关系表的内容映射成XML文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT table_to_xml('testxmlschema.test1', false, false, '');
                           table_to_xml                          
  ---------------------------------------------------------------
   <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+
                                                                +
   <row>                                                        +
     <a>1</a>                                                   +
     <b>one</b>                                                 +
   </row>                                                       +
                                                                +
   <row>                                                        +
     <a>2</a>                                                   +
     <b>two</b>                                                 +
   </row>                                                       +
                                                                +
   <row>                                                        +
     <a>-1</a>                                                  +
   </row>                                                       +
                                                                +
   </test1>                                                     +
  (1 row)
  ```
  
- table_to_xmlschema(tbl regclass, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将关系表的内容映射成XML模式文档。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT table_to_xmlschema('testxmlschema.test1', false, false, '');
                                                 table_to_xmlschema                                                
  -----------------------------------------------------------------------------------------------------------------
   <xsd:schema                                                                                                    +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                                              +
                                                                                                                  +
   <xsd:simpleType name="INTEGER">                                                                                +
     <xsd:restriction base="xsd:int">                                                                             +
       <xsd:maxInclusive value="2147483647"/>                                                                     +
       <xsd:minInclusive value="-2147483648"/>                                                                    +
     </xsd:restriction>                                                                                           +
   </xsd:simpleType>                                                                                              +
                                                                                                                  +
   <xsd:simpleType name="UDT.regression.pg_catalog.text">                                                         +
     <xsd:restriction base="xsd:string">                                                                          +
     </xsd:restriction>                                                                                           +
   </xsd:simpleType>                                                                                              +
                                                                                                                  +
   <xsd:complexType name="RowType.regression.testxmlschema.test1">                                                +
     <xsd:sequence>                                                                                               +
       <xsd:element name="a" type="INTEGER" minOccurs="0"></xsd:element>                                          +
       <xsd:element name="b" type="UDT.regression.pg_catalog.text" minOccurs="0"></xsd:element>                   +
     </xsd:sequence>                                                                                              +
   </xsd:complexType>                                                                                             +
                                                                                                                  +
   <xsd:complexType name="TableType.regression.testxmlschema.test1">                                              +
     <xsd:sequence>                                                                                               +
       <xsd:element name="row" type="RowType.regression.testxmlschema.test1" minOccurs="0" maxOccurs="unbounded"/>+
     </xsd:sequence>                                                                                              +
   </xsd:complexType>                                                                                             +
                                                                                                                  +
   <xsd:element name="test1" type="TableType.regression.testxmlschema.test1"/>                                    +
                                                                                                                  +
   </xsd:schema>
  (1 row)
  ```
  
- table_to_xml_and_xmlschema(tbl regclass, nulls boolean, tableforest boolean, targetns text) 描述：该函数会将关系表的内容映射成XML文档和XML模式文档，并把两个文档连接在一起。
  返回值类型：XML
  示例：
  ```
  gaussdb=# SELECT table_to_xml_and_xmlschema('testxmlschema.test1', false, false, '');
                                             table_to_xml_and_xmlschema                                            
  -----------------------------------------------------------------------------------------------------------------
   <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="#">                +
                                                                                                                  +
   <xsd:schema                                                                                                    +
       xmlns:xsd="http://www.w3.org/2001/XMLSchema">                                                              +
                                                                                                                  +
   <xsd:simpleType name="INTEGER">                                                                                +
     <xsd:restriction base="xsd:int">                                                                             +
       <xsd:maxInclusive value="2147483647"/>                                                                     +
       <xsd:minInclusive value="-2147483648"/>                                                                    +
     </xsd:restriction>                                                                                           +
   </xsd:simpleType>                                                                                              +
                                                                                                                  +
   <xsd:simpleType name="UDT.regression.pg_catalog.text">                                                         +
     <xsd:restriction base="xsd:string">                                                                          +
     </xsd:restriction>                                                                                           +
   </xsd:simpleType>                                                                                              +
                                                                                                                  +
   <xsd:complexType name="RowType.regression.testxmlschema.test1">                                                +
     <xsd:sequence>                                                                                               +
       <xsd:element name="a" type="INTEGER" minOccurs="0"></xsd:element>                                          +
       <xsd:element name="b" type="UDT.regression.pg_catalog.text" minOccurs="0"></xsd:element>                   +
     </xsd:sequence>                                                                                              +
   </xsd:complexType>                                                                                             +
                                                                                                                  +
   <xsd:complexType name="TableType.regression.testxmlschema.test1">                                              +
     <xsd:sequence>                                                                                               +
       <xsd:element name="row" type="RowType.regression.testxmlschema.test1" minOccurs="0" maxOccurs="unbounded"/>+
     </xsd:sequence>                                                                                              +
   </xsd:complexType>                                                                                             +
                                                                                                                  +
   <xsd:element name="test1" type="TableType.regression.testxmlschema.test1"/>                                    +
                                                                                                                  +
   </xsd:schema>                                                                                                  +
                                                                                                                  +
   <row>                                                                                                          +
     <a>1</a>                                                                                                     +
     <b>one</b>                                                                                                   +
   </row>                                                                                                         +
                                                                                                                  +
   <row>                                                                                                          +
     <a>2</a>                                                                                                     +
     <b>two</b>                                                                                                   +
   </row>                                                                                                         +
                                                                                                                  +
   <row>                                                                                                          +
     <a>-1</a>                                                                                                    +
   </row>                                                                                                         +
                                                                                                                  +
   </test1>                                                                                                       +
  (1 row)
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - xpath相关函数仅支持xpath()和xpath_exists()，由于其使用xpath语言查询XML文档，而这些函数都依赖于libxml2库，且这个库仅在Xpath1.0提供，所以对XPath的限制为1.0。
  
  - 不支持xquery、xml extension、xslt功能。
    
- getclobval(xml) 描述：将XML类型转化成CLOB类型。该函数在参数a_format_version值为10c和a_format_dev_version值为s4的情况下有效。
  参数：入参为XML类型。
  返回值类型：CLOB
  示例：
  ```
  gaussdb=# CREATE DATABASE gaussdb_ora DBCOMPATIBILITY='ORA';
  CREATE DATABASE
  gaussdb=# \c gaussdb_ora
  gaussdb_ora=# SET a_format_version='10c';
  SET
  gaussdb_ora=# SET a_format_dev_version='s4';
  SET
  gaussdb_ora=# declare
   xmldata xml;
   result clob;
  begin
   xmldata := '<a>123</a>';
   result := getclobval(xmldata);
   RAISE NOTICE 'result is : %',result;
  END;
  /
  NOTICE:  result is : <a>123</a>
  gaussdb_ora=# SELECT getclobval(xmlparse(document '<a>123</a>'));
   getclobval
  ------------
   <a>123</a>
  (1 row)
  gaussdb_ora=# \c postgres
  gaussdb=# DROP DATABASE gaussdb_ora;
  DROP DATABASE
  ```
  
- getstringval(xml) 描述：该函数将XML类型转化为字符串。此函数在参数a_format_version值为10c和a_format_dev_version值为s4的情况下有效。
  参数：入参为XML类型。
  返回值类型：VARCHAR2
  示例：
  ```
  gaussdb=# CREATE DATABASE gaussdb_ora DBCOMPATIBILITY='ORA';
  CREATE DATABASE
  gaussdb=# \c gaussdb_ora
  gaussdb_ora=# SET a_format_version='10c';
  SET
  gaussdb_ora=# SET a_format_dev_version='s4';
  SET
  gaussdb_ora=# declare
   xmldata xml;
   result varchar2;
  begin
   xmldata := '<a>123<b>456</b></a>';
   result := getstringval(xmldata);
   RAISE NOTICE 'result is : %',result;
  END;
  /
  NOTICE:  result is : <a>123<b>456</b></a>
  gaussdb_ora=# select getstringval(xmlparse(document '<a>123<b>456</b></a>'));
       getstringval
  ----------------------
   <a>123<b>456</b></a>
  (1 row)
  gaussdb_ora=# \c postgres
  gaussdb=# DROP DATABASE gaussdb_ora;
  DROP DATABASE
  ```
  
- xmlsequence(xml) 描述：此函数的功能是将一个XML类型的参数转换为一个XMLTYPE类型的数组，每个数组元素都是XMLTYPE对象。这个函数的输入参数不能为空，也必须是一个有效的XML文档。如果输入参数不符合要求，函数会返回空值或者抛出异常。这个函数可以用于处理XML文档中的多个子节点，或者将XML文档分割为多个片段。
  参数：XML类型。
  返回值类型：xmltype类型的数组。
  示例：如果想要将这个文档转换为一个包含三个元素的数组，每个元素都是一个book节点，可以使用以下语句。
  ```
  gaussdb=# SELECT xmlsequence(xml('<books><book><title>The Catcher in the Rye</title><author>J.D. Salinger</author><year>1951</year></book><book><title>1984</title><author>George Orwell</author><year>1949</year></book><book><title>The Hitchhiker''s Guide to the Galaxy</title><author>Douglas Adams</author><year>1979</year></book></books>'));
                          xmlsequence                        
  -----------------------------------------------------------
   {"<books>                                                +
       <book>                                               +
         <title>The Catcher in the Rye</title>              +
         <author>J.D. Salinger</author>                     +
         <year>1951</year>                                  +
       </book>                                              +
       <book>                                               +
         <title>1984</title>                                +
         <author>George Orwell</author>                     +
         <year>1949</year>                                  +
       </book>                                              +
       <book>                                               +
         <title>The Hitchhiker's Guide to the Galaxy</title>+
         <author>Douglas Adams</author>                     +
         <year>1979</year>                                  +
       </book>                                              +
     </books>"}
  (1 row)
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  当XML文档中含有双引号时，单独查看xmlsequence函数，结果中会包含双引号的转义符，使用xmlsequence函数结果时不受影响。
  
- xmlcast( value_expression as datatype ) 描述：对于XML类型的输入数据，在提取文档中的文本内容后，将其转换为指定的目标数据类型。
  参数：value_expression，表示XML类型的文档内容。
  返回值类型：指定的目标数据类型。
  示例：
  ```
  -- XML类型数据转NUMBER类型。
  gaussdb=# CREATE DATABASE ora_db DBCOMPATIBILITY = 'ORA';
  CREATE DATABASE
  gaussdb=# \c ora_db
  ora_db=# SELECT XMLCAST(XML('<number_value>123.45</number_value>') AS NUMBER) AS number_value FROM dual;
   number_value 
  --------------
         123.45
  (1 row)
  ora_db=# \c postgres
  gaussdb=# DROP DATABASE ora_db;
  DROP DATABASE
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 仅在ORA兼容模式下支持使用该函数。
  
  - 劣构XML文档仅支持value_expression表达式返回值为多根节点的XML。
  
  - 不支持转换的目标数据类型包括BYTEAWITHOUTORDERWITHEQUALCOL、BYTEAWITHOUTORDERCOL、_BYTEAWITHOUTORDERWITHEQUALCOL、_BYTEAWITHOUTORDERCOL以及部分伪类型。
  
  - 升级观察期不支持使用该函数。
    
 
