TABLE_TO_XML_AND_XMLSCHEMA

说明

该函数用于将表映射为XML值和模式文档,返回值为XML类型。(兼容PostgreSQL)

语法

table_to_xml_and_xmlschema ::=

参数

table_name

表的名称。

bool_nulls

该参数决定是否在结果中展开null值。

bool_tableforest

  • true:输出xml片段。
  • false:输出xml文档。

text_targetns

指定想要结果的XML命名空间。若不指定,应传递一个空字符串。

示例

--  清理环境
SQL> DROP TABLE xmltbl;

--  创建表并插入数据
SQL> CREATE TABLE xmltbl (a int, b text);
SQL> INSERT INTO xmltbl VALUES (1, 'one'), (2, 'two'), (-1, null);

--  将表的内容映射成XML值
SQL> select TABLE_TO_XML_AND_XMLSCHEMA('XMLTBL', true, true, 'a');
                                TABLE_TO_XML_AND_XMLSCHEMA
-------------------------------------------------------------------------------------------
 <xsd:schema
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     targetNamespace="a"
     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.OSRDB.INFO_SCHEM.TEXT">
   <xsd:restriction base="xsd:string">
   </xsd:restriction>
 </xsd:simpleType>

 <xsd:complexType name="RowType.OSRDB.SYSDBA._x0058_MLTBL">
   <xsd:sequence>
     <xsd:element name="A" type="INTEGER" nillable="true"></xsd:element>
     <xsd:element name="B" type="UDT.OSRDB.INFO_SCHEM.TEXT" nillable="true"></xsd:element>
   </xsd:sequence>
 </xsd:complexType>

 <xsd:element name="_x0058_MLTBL" type="RowType.OSRDB.SYSDBA._x0058_MLTBL"/>

 </xsd:schema>

 <_x0058_MLTBL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="a">

   <A>1</A>
   <B>one</B>
 </_x0058_MLTBL>

 <_x0058_MLTBL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="a">

   <A>2</A>
   <B>two</B>
 </_x0058_MLTBL>

 <_x0058_MLTBL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="a">

   <A>-1</A>
   <B xsi:nil="true"/>
 </_x0058_MLTBL>


(1 row)

--  删除表
SQL> DROP TABLE xmltbl;