The UANodeSet is the root of the document. It defines a set of Nodes, their Attributes and References. References to Nodes outside of the document are allowed.

The structure of a UANodeSet is shown in Table F.1.

Table F.1 – UANodeSet

Element

Type

Description

NamespaceUris

UriTable

A list of NamespaceUris used in the UANodeSet.

ServerUris

UriTable

A list of ServerUris used in the UANodeSet.

Models

ModelTableEntry []

A list of Models that are defined in the UANodeSet along with any dependencies these models have.

ModelUri

String

The URI for the model.

This URI should be one of the entries in the NamespaceUris table.

Version

String

The version of the model defined in the UANodeSet.

This is a human readable string and not intended for programmatic comparisons.

PublicationDate

DateTime

When the model was published.

This value is used for comparisons if the Model is defined in multiple UANodeSet files.

RolePermissions

RolePermissions []

The list of default RolePermissions for all Nodes in the model.

AccessRestrictions

AccessRestrictions

The default AccessRestrictions that apply to all Nodes in the model.

RequiredModels

ModelTableEntry []

A list of dependencies for the model.

If the model requires a minimum version the PublicationDate shall be specified. Tools which attempt to resolve these dependencies may accept any PublicationDate after this date.

Aliases

AliasTable

A list of Aliases used in the UANodeSet.

Extensions

xs:any

An element containing any vendor defined extensions to the UANodeSet.

LastModified

DateTime

The last time a document was modified.

<choice>

UAObject

UAVariable

UAMethod

UAView

UAObjectType

UAVariableType

UADataType

UAReferenceType

The Nodes in the UANodeSet.

The NamespaceUris is a list of URIs for namespaces used in the UANodeSet. The NamespaceIndexes used in NodeId, ExpandedNodeIds and QualifiedNames identify an element in this list. The first index is always 1 (0 is always the OPC UA namespace).

The ServerUris is a list of URIs for Servers referenced in the UANodeSet. The ServerIndex in ExpandedNodeIds identifies an element in this list. The first index is always 1 (0 is always the current Server).

The Models element specifies the Models which are formally defined by the UANodeSet. It includes version information as well as information about any dependencies which the model may have. If a Model is defined in the UANodeSet then the file shall also define an instance of the NamespaceMetadataType ObjectType. See OPC 10000-5 for more information.

The Aliases are a list of string substitutions for NodeIds. Aliases can be used to make the file more readable by allowing a string like ‘HasProperty’ in place of a numeric NodeId (i=46). Aliases are optional.

The Extensions are free form XML data that can be used to attach vendor defined data to the UANodeSet.