<array> (Array)

The array element defines the array variant type. Array contents must be of uniform type as specified by the @baseType attribute. The contents of an array are defined using repeated child elements of the appropriate variant type.

Multi-dimensional arrays can be defined by specifying the length of each dimension in the @lBound and @uBound attributes through the use of the "," delimiter. Child elements of multi-dimensional arrays are indexed along each dimension in the order the dimensions are declared.

In other words, the array shall be filled as follows:

  • The first index shall be incremented to its maximum value
    example: : [0,0,0] to [max,0,0]
  • The second index shall be incremented to its maximum value
    example: : [0,1,0] to [0,max,0]
  • Subsequent indices shall be filled until all provided values have been added

  • All other values shall have null values within the array (i.e. no default value shall be assumed).

example:
<vt:array lBounds="0,0" uBounds="1,2" baseType="i4">
  <vt:i4>0</vt:i4>
  <vt:i4>1</vt:i4>
  <vt:i4>2</vt:i4>
  <vt:i4>3</vt:i4>
  <vt:i4>4</vt:i4>
</vt:array>

The resulting array: [0,0] = 0, [1,0] = 1, [0,1] = 2, [1,1] = 3, [0,2] = 4. ]

Parent Elements

<property>7.3.2.2); <variant>7.4.2.33)

Child Elements

Subclause

<bool> (Boolean)

§7.4.2.3

<bstr> (Basic String)

§7.4.2.4

<cy> (Currency)

§7.4.2.7

<date> (Date and Time)

§7.4.2.8

<decimal> (Decimal)

§7.4.2.9

<error> (Error Status Code)

§7.4.2.11

<i1> (1-Byte Signed Integer)

§7.4.2.13

<i2> (2-Byte Signed Integer)

§7.4.2.14

<i4> (4-Byte Signed Integer)

§7.4.2.15

<int> (Integer)

§7.4.2.17

<r4> (4-Byte Real Number)

§7.4.2.24

<r8> (8-Byte Real Number)

§7.4.2.25

<ui1> (1-Byte Unsigned Integer)

§7.4.2.28

<ui2> (2-Byte Unsigned Integer)

§7.4.2.29

<ui4> (4-Byte Unsigned Integer)

§7.4.2.30

<uint> (Unsigned Integer)

§7.4.2.32

<variant> (Variant)

§7.4.2.33

Attributes

Description

<baseType> (Array Base Type)

The @baseType attribute specifies the base variant type of an array.

The allowed values are: variant, i1, i2, i4, int, ui1, ui2, ui4, uint, r4, r8, decimal, bstr, date, bool, cy, and error.

The possible values for this attribute are defined by the ST_ArrayBaseType simple type (§7.4.3.1).

<lBounds> (Array Lower Bounds Attribute)

The @lBounds attribute specifies the lower bound of an array in the format: #, #, # ... # where each # represents an integer.

The possible values for this attribute are defined by the XML Schema int datatype.

<uBounds> (Array Upper Bounds Attribute)

The @uBounds attribute specifies the upper bound of an array in the format: #, #, # ... # where each # represents an integer.

The possible values for this attribute are defined by the XML Schema int datatype.

The following XML Schema fragment defines the contents of this element:

<complexType name="CT_Array">
	<choice minOccurs="1" maxOccurs="unbounded">
	<element ref="variant"/>
	<element ref="i1"/>
	<element ref="i2"/>
	<element ref="i4"/>
	<element ref="int"/>
	<element ref="ui1"/>
	<element ref="ui2"/>
	<element ref="ui4"/>
	<element ref="uint"/>
	<element ref="r4"/>
	<element ref="r8"/>
	<element ref="decimal"/>
	<element ref="bstr"/>
	<element ref="date"/>
	<element ref="bool"/>
	<element ref="error"/>
	<element ref="cy"/>
	</choice>
	<attribute name="lBounds" type="xsd:int" use="required"/>
	<attribute name="uBounds" type="xsd:int" use="required"/>
	<attribute name="baseType" type="ST_ArrayBaseType" use="required"/>
</complexType>