This function returns an XML DTD for the results of a SQL query with a FOR XML clause. The returned DTD will apply to the output generated by xml_auto with the query in question after wrapping it into the specified root element.
varchar of the resultant DTD
If the query argument is not a valid SQL statement, i.e. SQL compiler signals an error message, the function resignals the error.
SQL> select xml_auto_dtd (' select "category"."CategoryID", "CategoryName", "ProductName", "ProductID" from "Demo".."Categories" "category", "Demo".."Products" as "product" where "product"."CategoryID" = "category"."CategoryID" for xml auto element', 'root'); callret VARCHAR _______________________________________________________________________________ <!-- dtd for output of the following SQL statement: select "category"."CategoryID", "CategoryName", "ProductName", "ProductID" from "Demo".."Categories" "category", "Demo".."Products" as "product" where "product"."CategoryID" = "category"."CategoryID" for xml auto element --> <!ELEMENT root (#PCDATA | category)* > <!ELEMENT category (#PCDATA | CategoryID | CategoryName | product)* > <!ELEMENT product (#PCDATA | ProductName | ProductID)* > <!ATTLIST category > <!ATTLIST product > <!ELEMENT CategoryID (#PCDATA)> <!ATTRLIST CategoryID > <!ELEMENT CategoryName (#PCDATA)> <!ATTRLIST CategoryName > <!ELEMENT ProductName (#PCDATA)> <!ATTRLIST ProductName > <!ELEMENT ProductID (#PCDATA)> <!ATTRLIST ProductID > 1 Rows. -- 4 msec.