About data type definitions
The types element of a schema describes every complex data type that Actuate web services recognize. The types element begins with the following declarations:
Two of these declarations are unique to the types element:
*xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" specifies the encoding scheme for serializing and deserializing SOAP messages.
*elementFormDefault indicates whether the target namespace must qualify all locally declared elements in the instance document. A value of qualified requires checking the target namespace to see that the instance document conforms to the target namespace element declarations and type definitions. A value of unqualified does not require checking.
The types element gives a data type a name and defines the structure. The types element describes whether there is a required sequence for the elements that define the structure. The following example shows the complete description of the complex data type for the Login request:
<xsd:complexType name="Login">
<xsd:element name="User" type="xsd:string"/>
<xsd:element name="Password" type="xsd:string"
<xsd:element name="EncryptedPwd" type="xsd:string"
<xsd:element name="Credentials" type="xsd:base64Binary"
<xsd:element name="Domain" type="xsd:string" minOccurs="0"/>
<xsd:element name="UserSetting" type="xsd:boolean"
<xsd:element name="ValidateUserGroups" type="typens:ArrayOfString" minOccurs="0"/>
<xsd:element name="Login" type="typens:Login"/>
In the preceding example:
*The xsd: namespace prefix refers to the version of the XML schema that Actuate uses. Actuate reserves the xsd: namespace prefix to refer to the 2001 version of the standard XML schema.
The xsd: prefix appears in every tag in the schema.
*The complex data type is Login.
Child elements define this data type. Each child element has attributes such as the data type, the name, and the minimum or maximum number of occurrences. If the child element defines a data value that the data type requires, there is no minOccurs attribute. In this example, User is the only required element.
*Because <sequence> </sequence> tags enclose this element list, you must use these elements in the sequence shown. If <all> </all> tags enclose the elements, they can appear in any order. If <choice> </choice> tags enclose
the elements, you can choose one element.