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 |