Errata exists for this version of the document.

Typically, the components of a complex VariableType are fixed and can be extended by subtyping. However, because each Variable of a VariableType can be extended with additional components this standard allows the extension of the standard VariableTypes defined in this document with additional components. This allows the expression of additional information in the type definition that would be contained in each Variable anyway. However, it is not allowed to restrict the components of the standard VariableTypes defined in this International Standard. An example of extending VariableTypes would be putting the standard Property NodeVersion, defined in OPC 10000-3, into the BaseDataVariableType, stating that each DataVariable of the Server will provide a NodeVersion.

The BaseVariableType is the abstract base type for all other VariableTypes. However, only the PropertyType and the BaseDataVariableType directly inherit from this type.

There are no References, except for HasSubtype References, specified for this VariableType. It is formally defined in Table 61.

Table 61 – BaseVariableType Definition

Attribute

Value

BrowseName

BaseVariableType

IsAbstract

True

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasSubtype

VariableType

PropertyType

Defined in 7.3

HasSubtype

VariableType

BaseDataVariableType

Defined in 7.4

The PropertyType is a subtype of the BaseVariableType. It is used as the type definition for all Properties. Properties are defined by their BrowseName and therefore they do not need a specialised type definition. It is not allowed to subtype this VariableType.

There are no References specified for this VariableType. It is formally defined in Table 62.

Table 62 – PropertyType Definition

Attribute

Value

BrowseName

PropertyType

IsAbstract

False

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseVariableType defined in 7.2.

The BaseDataVariableType is a subtype of the BaseVariableType. It is used as the type definition whenever there is a DataVariable having no more concrete type definition available. This VariableType is the base VariableType for VariableTypes of DataVariables, and all other VariableTypes of DataVariables shall either directly or indirectly inherit from it. However, it might not be possible for Servers to provide all HasSubtype References from this VariableType to its subtypes, and therefore it is not required to provide this information.

There are no References except for HasSubtype References specified for this VariableType. It is formally defined in Table 63.

Table 63 – BaseDataVariableType Definition

Attribute

Value

BrowseName

BaseDataVariableType

IsAbstract

False

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

BrowseName

Comment

Subtype of the BaseVariableType defined in 7.2.

HasSubtype

VariableType

ServerVendorCapabilityType

Defined in 7.5

HasSubtype

VariableType

ServerStatusType

Defined in 7.6

HasSubtype

VariableType

BuildInfoType

Defined in 7.7

HasSubtype

VariableType

ServerDiagnosticsSummaryType

Defined in 7.8

HasSubtype

VariableType

SamplingIntervalDiagnosticsArrayType

Defined in 7.9

HasSubtype

VariableType

SamplingIntervalDiagnosticsType

Defined in 7.10

HasSubtype

VariableType

SubscriptionDiagnosticsArrayType

Defined in 7.11

HasSubtype

VariableType

SubscriptionDiagnosticsType

Defined in 7.12

HasSubtype

VariableType

SessionDiagnosticsArrayType

Defined in 7.13

HasSubtype

VariableType

SessionDiagnosticsVariableType

Defined in 7.14

HasSubtype

VariableType

SessionSecurityDiagnosticsArrayType

Defined in 7.15

HasSubtype

VariableType

SessionSecurityDiagnosticsType

Defined in 7.16

HasSubtype

VariableType

OptionSetType

Defined in 7.17

This VariableType is an abstract type whose subtypes define capabilities of the Server. Vendors may define subtypes of this type. This VariableType is formally defined in Table 64.

Table 64 – ServerVendorCapabilityType Definition

Attribute

Value

BrowseName

ServerVendorCapabilityType

IsAbstract

True

ValueRank

−1 (−1 = Scalar)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

This complex VariableType is used for information about the Server status. Its DataVariables reflect its DataType having the same semantic defined in 12.10. The VariableType is formally defined in Table 65.

Table 65 – ServerStatusType Definition

Attribute

Value

BrowseName

ServerStatusType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

ServerStatusDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

StartTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

State

ServerState

BaseDataVariableType

Mandatory

HasComponent

Variable

BuildInfo1

BuildInfo

BuildInfoType

Mandatory

HasComponent

Variable

SecondsTillShutdown

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

ShutdownReason

LocalizedText

BaseDataVariableType

Mandatory

NOTE Containing Objects and Variables of these Objects and Variables are defined by their BrowseName defined in the corresponding TypeDefinitionNode. The NodeId is defined by the composed symbolic name described in 4.1.

This complex VariableType is used for information about the Server status. Its DataVariables reflect its DataType having the same semantic defined in 12.4. The VariableType is formally defined in Table 66.

Table 66 – BuildInfoType Definition

Attribute

Value

BrowseName

BuildInfoType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

BuildInfo

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

ProductUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ManufacturerName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ProductName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

SoftwareVersion

String

BaseDataVariableType

Mandatory

HasComponent

Variable

BuildNumber

String

BaseDataVariableType

Mandatory

HasComponent

Variable

BuildDate

UtcTime

BaseDataVariableType

Mandatory

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType having the same semantic defined in 12.9. The VariableType is formally defined in Table 67.

Table 67 – ServerDiagnosticsSummaryType Definition

Attribute

Value

BrowseName

ServerDiagnosticsSummaryType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

ServerDiagnosticsSummaryDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

ServerViewCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CumulatedSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityRejectedSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RejectedSessionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SessionTimeoutCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SessionAbortCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishingIntervalCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentSubscriptionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CumulatedSubscriptionCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityRejectedRequestsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RejectedRequestsCount

UInt32

BaseDataVariableType

Mandatory

This complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SamplingIntervalDiagnosticsType VariableType having the sampling rate as BrowseName. The VariableType is formally defined in Table 68.

Table 68 – SamplingIntervalDiagnosticsArrayType Definition

Attribute

Value

BrowseName

SamplingIntervalDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SamplingIntervalDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SamplingIntervalDiagnostics

SamplingIntervalDiagnosticsDataType

SamplingIntervalDiagnosticsType

ExposesItsArray

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.8. The VariableType is formally defined in Table 69.

Table 69 – SamplingIntervalDiagnosticsType Definition

Attribute

Value

BrowseName

SamplingIntervalDiagnosticsType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SamplingIntervalDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SamplingInterval

Duration

BaseDataVariableType

Mandatory

HasComponent

Variable

SampledMonitoredItemsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxSampledMonitoredItemsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DisabledMonitoredItemsSamplingCount

UInt32

BaseDataVariableType

Mandatory

This complex VariableType is used for diagnostic information. For each entry of the array, instances of this type will provide a Variable of the SubscriptionDiagnosticsType VariableType having the SubscriptionId as BrowseName. The VariableType is formally defined in Table 70.

Table 70 – SubscriptionDiagnosticsArrayType Definition

Attribute

Value

BrowseName

SubscriptionDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SubscriptionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SubscriptionDiagnostics

SubscriptionDiagnosticsDataType SubscriptionDiagnosticsType

ExposesItsArray

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.15. The VariableType is formally defined in Table 71.

Table 71 – SubscriptionDiagnosticsType Definition

Attribute

Value

BrowseName

SubscriptionDiagnosticsType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SubscriptionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionId

NodeId

BaseDataVariableType

Mandatory

HasComponent

Variable

SubscriptionId

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

Priority

Byte

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishingInterval

Duration

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxKeepAliveCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxLifetimeCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxNotificationsPerPublish

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishingEnabled

Boolean

BaseDataVariableType

Mandatory

HasComponent

Variable

ModifyCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

EnableCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DisableCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishMessageRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishMessageCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferredToAltClientCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferredToSameClientCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DataChangeNotificationsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

EventNotificationsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

NotificationsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

LatePublishRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentKeepAliveCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentLifetimeCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

UnacknowledgedMessageCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DiscardedMessageCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MonitoredItemCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

DisabledMonitoredItemCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

MonitoringQueueOverflowCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

NextSequenceNumber

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

EventQueueOverflowCount

UInt32

BaseDataVariableType

Mandatory

This complex VariableType is used for diagnostic information. For each entry of the array instances of this type will provide a Variable of the SessionDiagnosticsVariableType VariableType, having the SessionDiagnostics as BrowseName. Those Variables will also be referenced by the SessionDiagnostics Objects defined by their type in 6.3.5. The VariableType is formally defined in Table 72.

Table 72 – SessionDiagnosticsArrayType Definition

Attribute

Value

BrowseName

SessionDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SessionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionDiagnostics

SessionDiagnosticsDataType

SessionDiagnosticsVariableType

ExposesItsArray

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.11. The VariableType is formally defined in Table 73.

Table 73 – SessionDiagnosticsVariableType Definition

Attribute

Value

BrowseName

SessionDiagnosticsVariableType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SessionDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionId

NodeId

BaseDataVariableType

Mandatory

HasComponent

Variable

SessionName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientDescription

ApplicationDescription

BaseDataVariableType

Mandatory

HasComponent

Variable

ServerUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

EndpointUrl

String

BaseDataVariableType

Mandatory

HasComponent

Variable

LocaleIds

LocaleId[]

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxResponseMessageSize

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

ActualSessionTimeout

Duration

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientConnectionTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientLastContactTime

UtcTime

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentSubscriptionsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentMonitoredItemsCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

CurrentPublishRequestsInQueue

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

TotalRequestCount

ServiceCounterDataType BaseDataVariableType

Mandatory

HasComponent

Variable

UnauthorizedRequestCount

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

ReadCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

HistoryReadCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

WriteCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

HistoryUpdateCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

CallCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

CreateMonitoredItemsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

ModifyMonitoredItemsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

SetMonitoringModeCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

SetTriggeringCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteMonitoredItemsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

CreateSubscriptionCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

ModifySubscriptionCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

SetPublishingModeCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

PublishCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

RepublishCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

TransferSubscriptionsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteSubscriptionsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

AddNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

AddReferencesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

DeleteReferencesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

BrowseCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

BrowseNextCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

TranslateBrowsePathsToNodeIdsCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

QueryFirstCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

QueryNextCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

RegisterNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

HasComponent

Variable

UnregisterNodesCount

ServiceCounterDataType

BaseDataVariableType

Mandatory

This complex VariableType is used for diagnostic information. For each entry of the array instances of this type will provide a Variable of the SessionSecurityDiagnosticsType VariableType, having the SessionSecurityDiagnostics as BrowseName. Those Variables will also be referenced by the SessionDiagnostics Objects defined by their type in 6.3.5. The VariableType is formally defined in Table 74. Since this information is security related, it should not be made accessible to all users, but only to authorised users.

Table 74 – SessionSecurityDiagnosticsArrayType Definition

Attribute

Value

BrowseName

SessionSecurityDiagnosticsArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

SessionSecurityDiagnosticsDataType

References

NodeClass

Browse

Name

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4.

HasComponent

Variable

SessionSecurityDiagnostics

SessionSecurityDiagnosticsDataType

SessionSecurityDiagnosticsType

ExposesItsArray

This complex VariableType is used for diagnostic information. Its DataVariables reflect its DataType, having the same semantic defined in 12.12. The VariableType is formally defined in Table 75. Since this information is security-related, it should not be made accessible to all users, but only to authorised users.

Table 75 – SessionSecurityDiagnosticsType Definition

Attribute

Value

BrowseName

SessionSecurityDiagnosticsType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

SessionSecurityDiagnosticsDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasComponent

Variable

SessionId

NodeId

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientUserIdOfSession

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientUserIdHistory

String[]

BaseDataVariableType

Mandatory

HasComponent

Variable

AuthenticationMechanism

String

BaseDataVariableType

Mandatory

HasComponent

Variable

Encoding

String

BaseDataVariableType

Mandatory

HasComponent

Variable

TransportProtocol

String

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityMode

MessageSecurityMode

BaseDataVariableType

Mandatory

HasComponent

Variable

SecurityPolicyUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

ClientCertificate

ByteString

BaseDataVariableType

Mandatory

The OptionSetType VariableType is used to represent a bit mask. Each array element of the OptionSetValues Property contains either the human-readable representation for the corresponding bit used in the option set or an empty LocalizedText for a bit that has no specific meaning. The order of the bits of the bit mask maps to a position of the array, i.e. the first bit (least significant bit) maps to the first entry in the array, etc.

In addition to this VariableType, the DataType OptionSet can alternatively be used to represent a bit mask. As a guideline the DataType would be used when the bit mask is fixed and applies to several Variables. The VariableType would be used when the bit mask is specific for only that Variable.

The DataType of this VariableType shall be capable of representing a bit mask. It shall be either a numeric DataType representing a signed or unsigned integer, or a ByteString. For example, it can be the BitFieldMaskDataType.

The optional BitMask Property provides the bit mask in an array of Booleans. This allows subscribing to individual entries of the bit mask. The order of the bits of the bit mask points to a position of the array, i.e. the first bit points to the first entry in the array, etc. The VariableType is formally defined in Table 74.

Table 76 – OptionSetType Definition

Attribute

Value

BrowseName

OptionSetType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

ArrayDimensions

{0} (0 = UnknownSize)

DataType

BaseDataType

References

NodeClass

Browse

Name

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

OptionSetValues

LocalizedText[]

PropertyType

Mandatory

HasProperty

Variable

BitMask

Boolean[]

PropertyType

Optional

The SelectionListType VariableType is used for a Variable where the possible values are provided by a set of values.

The Selections Property contains an array of values which represent valid values for this VariableType’s value.

The DataType of the Selections Property array shall be of the same DataType as this VariableType.

Each array element of the optional SelectionDescriptions Property contains a human-readable representation of the corresponding value in the Selections Property and shall be of the same array size as the Selections Property.

The value of this VariableType may be restricted to only the values defined in the Selections Property by setting the optional RestrictToList Property to a value of True. If the RestrictToList Property is not present or has a value of False then the value is not restricted to the set defined by the Selections Property.

The VariableType is formally defined in Table 77.

Table 77 – SelectionListType Definition

Attribute

Value

BrowseName

SelectionListType

IsAbstract

False

ValueRank

−2 (−2 = Any)

DataType

BaseDataType

References

NodeClass

Browse

Name

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

Selections

BaseDataType[]

PropertyType

Mandatory

HasProperty

Variable

SelectionDescriptions

LocalizedText[]

PropertyType

Optional

HasProperty

Variable

RestrictToList

Boolean

PropertyType

Optional

The AudioVariableType VariableType defines a Multipurpose Internet Mail Extensions (MIME) media type of the AudibleSound Property. This standard recommends use of text code defined in IETF RFC 2045, IETF RFC 2046 and IETF RFC 2047 for MIME types. The AudioVariableType references the Content-Type that is defined as part of the MIME type and commonly used as a reference to a specific MIME. The top-level media type is used to declare the general type of data, while the subtype specifies a specific format for that type of data. Thus, a media type of "audio /xyz" is a sufficient description for a user agent to determine the data is an audio file, even if the user agent has no knowledge of the specific audio format "xyz".

The VariableType is formally defined in Table 78.

Table 78 – AudioVariableType Definition

Attribute

Value

BrowseName

AudioVariableType

IsAbstract

False

ValueRank

−1 (−1 = Scalar)

DataType

AudioDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in 7.4

HasProperty

Variable

ListId

String

PropertyType

Optional

HasProperty

Variable

AgencyId

String

PropertyType

Optional

HasProperty

Variable

VersionId

String

PropertyType

Optional