Skip to main content
Version: 11.0

XML.GenerateComplexType

note

This article is about the GenerateComplexType method of the XML internal component.

XML.GenerateComplexType

Generates an XML complex type for an output XML Schema document.

Syntax

INVOKE    XML.GenerateComplexType
WITH
SELECT *expression*, ...
FROM *table*

Example

INVOKE     xml.GenerateComplexType
WITH
SELECT destination, description
FROM tour

This results in the following output:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:USoft:Tours" xmlns:tns="urn:USoft:Tours">
<xsd:complexType name="ToursEx">
<xsd:sequence>
<xsd:element name="Tours" type="tns:Tours"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Tours">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="TOUR" type="tns:TOUR"></xsd:element>
</xsd:sequence>
<xsd:attribute name="documentName" type="xsd:string"></xsd:attribute>
</xsd:complexType>
<xsd:complexType name="TOUR">
<xsd:attribute name="DESTINATION" type="xsd:string" use="required"></xsd:attribute>
<xsd:attribute name="DESCRIPTION" type="xsd:string"></xsd:attribute>
</xsd:complexType>
</xsd:schema>

The Tours complex type can be used as XML Data Type for the output parameter of a document oriented web service that uses SQL statement:

INVOKE     XML.Export WITH
SELECT destination
, description
FROM tour
WHERE ...