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:element name="value_element" type="btypes: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.

<xsd:element name="NameValue_element"
	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:

Child Element

Data Type

name

Built-in type string

value

The complex type value

value_type

The simple type DataType

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.

<xsd:element name="NameValueArray_element"
	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.

<xsd:element name="NameValueTable_element"
	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:element name="Event_element" type="event:Event"/>
<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.

<xsd:element name="EventArray_element"
	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.

Was this page helpful? Yes No Submitting... Thank you

Comments