Value Choices, Name-Value Pairs, and Custom Complex Types
The remaining complex types define value choices, name-value pairs, and custom types.
value
The schema definition file BasicTypes.xsd contains this data definition of value.
<xsd:complexType name="value">
<xsd:choice>
<xsd:element name="byte_value" type="xsd:byte"/>
<xsd:element name="short_value" type="xsd:short"/>
<xsd:element name="int_value" type="xsd:int"/>
<xsd:element name="long_value" type="xsd:long"/>
<xsd:element name="float_value" type="xsd:float"/>
<xsd:element name="double_value" type="xsd:double"/>
<xsd:element name="string_value" type="xsd:string"/>
<xsd:element ref="btypes:ByteArray"/>
<xsd:element ref="btypes:ShortArray"/>
<xsd:element ref="btypes:IntArray"/>
<xsd:element ref="btypes:LongArray"/>
<xsd:element ref="btypes:FloatArray"/>
<xsd:element ref="btypes:DoubleArray"/>
<xsd:element ref="btypes:StringArray"/>
</xsd:choice>
</xsd:complexType>
The complex type value can be any one of the defined child elements or referenced array elements within the < xsd:choice > and < /xsd:choice > tags. These value choices consist of built-in data types and referenced array types.
NameValue
The schema definition file BasicTypes.xsd contains this data definition of the NameValue complex type.
type="btypes:NameValue"/>
<xsd:complexType name="NameValue">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="value" type="btypes:value"/>
<xsd:element name="value_type" type="btypes:DataType"
minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
The NameValue complex type specifies how a value element is represented. It consists of a sequence of child elements:
The value_type element has the attributes minOccurs and maxOccurs, with the defined values of 0 and 1, respectively.
ArrayOf_NameValue
The schema definition file BasicTypes.xsd contains this data definition of the ArrayOf_NameValue complex type.
type="btypes:ArrayOf_NameValue"/>
<xsd:complexType name="ArrayOf_NameValue">
<xsd:sequence>
<xsd:element name="NameValue_element" minOccurs="0"
maxOccurs="unbounded" type="btypes:NameValue"/>
</xsd:sequence>
</xsd:complexType>
The complex type ArrayOf_NameValue can contain multiple child NameValue_elements. The complex type Event extends the ArrayOf_NameValue type. See Event.
TableOf_NameValue
The schema definition file BasicTypes.xsd contains this data definition of the TableOf_NameValue complex type.
type="btypes:TableOf_NameValue"/>
<xsd:complexType name="TableOf_NameValue">
<xsd:sequence>
<xsd:element name="NameValueArray_element" minOccurs="0"
maxOccurs="unbounded"
type="btypes:ArrayOf_NameValue"/>
</xsd:sequence>
</xsd:complexType>
The TableOf_NameValue complex type is defined by a sequence that consists of the child element NameValueArray_element, which is based on the complex type ArrayOf_NameValue. This child element has the attributes minOccurs and maxOccurs, with the respective values 0 and unbounded.
Event
The schema definition file Event.xsd contains this data definition of the Event complex type.
<xsd:complexType name="Event">
<xsd:complexContent>
<xsd:extension base="btypes:ArrayOf_NameValue">
<xsd:sequence>
<xsd:element name="subject" type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
The complex type Event extends the complex type ArrayOf_NameValue through its complexContent element. The complex type Event is a special subset of the values defined by the complex type ArrayOf_NameValue. It is delineated by a sequence element that consists of the child element subject of the built-in data type string.
For a description of an element that is derived from the Event complex type, see also the message for the description of an element that is derived from the Event complex type.
ArrayOf_Event
The schema definition file Event.xsd contains this data definition for the ArrayOf_Event complex type.
type="event:ArrayOf_Event"/>
<xsd:complexType name="ArrayOf_Event">
<xsd:sequence>
<xsd:element name="Event_element" minOccurs="0"
maxOccurs="unbounded" type="event:Event">
</xsd:sequence>
</xsd:complexType>
The complex type ArrayOf_Event defines a collection of event elements. The standard content of the ArrayOf_Event complex type is defined by a sequence that consists of the element Event_element of the complex type Event. The ArrayOf_Event type can contain zero or more Event_elements.