¶
15.4.4. XML Schema & DTD Functions
The following functions can be used to generate XML Schema or DTD information about a given SQL query:
xml_auto_schema()
|
xml_auto_dtd()
|
Example 15.12. Generating XML Schema and DTD Data
This example shows trivial use of the two functions
xml_auto_schema()
and xml_auto_dtd()
.
SQL> select xml_auto_schema('select u_name from sys_users', 'root'); callret VARCHAR _______________________________________________________________________________ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation> Schema for output of the following SQL statement: <![CDATA[select u_name from sys_users]]> </xsd:documentation> </xsd:annotation> <xsd:element name="root" type="root__Type"/> <xsd:complexType name="root__Type"> <xsd:sequence> <xsd:element name="SYS_USERS" type="SYS_USERS_Type" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SYS_USERS_Type"> <xsd:attribute name="U_NAME" type="xsd:string"/> </xsd:complexType> </xsd:schema> 1 Rows. -- 1843 msec. SQL> select xml_auto_dtd('select u_name from sys_users', 'root'); callret VARCHAR _______________________________________________________________________________ <!-- dtd for output of the following SQL statement: select u_name from sys_users --> <!ELEMENT root (#PCDATA | SYS_USERS)* > <!ELEMENT SYS_USERS (#PCDATA)* > <!ATTLIST SYS_USERS U_NAME CDATA #IMPLIED > 1 Rows. -- 411 msec.