Arrays of data types
Data type definitions can be grouped into arrays. Each array has a specific definition for that data type. IDAPI supports empty arrays having no entries.
The schema for an array of a data type generally follows the following pattern:
<xsd:complexType name="ArrayOfX">
<xsd:sequence>
<xsd:element name="X" type="typens:X"
maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
In the above listing, X is the data type of object the array contains. For example, the XML for an array of UserGroup objects is:
<xsd:complexType name="ArrayOfUserGroup">
<xsd:sequence>
<xsd:element name="UserGroup" type="typens:UserGroup"
maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
The following data types have arrays defined in this manner:
*Aggregation
*JobProperties
*ArchiveRule
*JobScheduleCondition
*Argument
*JobScheduleDetail
*Attachment
*LicenseOption
*Capabilities
*MDSInfo
*Channel
*NameValuePair
*ChannelCondition
*ParameterDefinition
*ColumnDefinition
*ParameterValue
*ColumnSchema
*PendingSyncJob
*Component
*Permission
*ComponentIdentifier
*Printer
*CounterInfo
*PrinterOptions
*DataExtractionFormat
*PropertyValue
*DataFilterCondition
*Record
*DataRow
*ResourceGroup
*DataSortColumn
*ResourceGroupSettings
*DocumentConversionOptions
*ResultSetSchema
*FieldDefinition
*Role
*File
*RoleCondition
*FileCondition
*RunningJob
*FileContent
*ServerInformation
*FileType
*ServerResourceGroupSetting
*FilterCriteria
*Service
*Group
*SortColumn
*GroupCondition
*String
*Grouping
*Time
*IOCacheDBIndexConstraint
*User
*JobCondition
*UserCondition
*JobNotice
*UserGroup
*JobNoticeCondition
*UserGroupCondition
Some array definitions are different from the ones listed above. These arrays have a type definition for the element other than what appears in the array name. For example, the ArrayOfDate is defined as:
<xsd:complexType name="ArrayOfDate">
<xsd:sequence>
<xsd:element name="Date" type="typens:string"
maxOccurs="unbounded" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
In this definition, the element name is Date, but its type is defined as a string. The ArrayOfDate type is defined as an array of string elements. The arrays in this format are listed in Table 12‑1, along with the associated element type.
Table 12‑1 Non‑standard arrays 
Array type
Element type
Date
string
String
string
Int
int
Component
ComponentType
Long
long