A UANode is an abstract base type for all Nodes. It defines the base set of Attributes and the References. There are subtypes for each NodeClass defined in OPC 10000-4. Each of these subtypes defines XML elements and attributes for the OPC UA Attributes specific to the NodeClass. The fields in the UANode type are defined in Table F.2.

Table F.2 – UANode

Element

Type

Description

NodeId

NodeId

A NodeId serialized as a String.

The syntax of the serialized String is defined in 5.3.1.10.

BrowseName

QualifiedName

A QualifiedName serialized as a String with the form:

<namespace index>:<name>

Where the NamespaceIndex refers to the NamespaceUris table.

SymbolicName

String

A symbolic name for the Node that can be used as a class/field name in auto generated code. It should only be specified if the BrowseName cannot be used for this purpose.

This field does not appear in the AddressSpace and is intended for use by design tools. Only letters, digits or the underscore (‘_’) are permitted.

WriteMask

WriteMask

The value of the WriteMask Attribute.

UserWriteMask

WriteMask

Still in schema but no longer used.

AccessRestrictions

AccessRestrictions

The AccessRestrictions that apply to the Node.

DisplayName

LocalizedText []

A list of DisplayNames for the Node in different locales.

There shall be only one entry per locale.

Description

LocalizedText []

The list of the Descriptions for the Node in different locales.

There shall be only one entry per locale.

Category

String []

A list of identifiers used to group related UANodes together for use by tools that create/edit UANodeSet files.

Documentation

String

Additional non-localized documentation for use by tools that create/edit UANodeSet files.

References

Reference []

The list of References for the Node.

RolePermissions

RolePermissions []

The list of RolePermissions for the Node.

Extensions

xs:any

An element containing any vendor defined extensions to the UANode.

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

Array values are denoted with [], however, in the XML Schema arrays are mapped to a complex type starting with the ‘ListOf’ prefix.

A UANodeSet is expected to contain many UANodes which reference each other. Tools that create UANodeSets should not add Reference elements for both directions in order to minimize the size of the XML file. Tools that read the UANodeSets shall automatically add reverse references unless reverse references are not appropriate given the ReferenceType semantics. HasTypeDefinition and HasModellingRule are two examples where it is not appropriate to add reverse references.

Note that a UANodeSet represents a collection of Nodes in an address space. This implies that any instances shall include the fully inherited InstanceDeclarationHierarchy as defined in OPC 10000-3.