[Table of Contents] [docx version]

Shared MLs Reference Material - Math

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] end example]

The second index shall be incremented to its maximum value [Example: [0,1,0] to [0,max,0] end example]

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: A 2x3 variant type array of type "i4" is specified as follows:

<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. end example]

Parent Elements

property7.3.2.2); variant7.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 type7.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>