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 and the first character shall be a letter.

WriteMask

WriteMask

The value of the WriteMask Attribute.

UserWriteMask

WriteMask

Not used. Kept in schema for backward compatibility.

AccessRestrictions

AccessRestriction

The AccessRestrictions that apply to the Node.

This attribute is optional.

If not specified the AccessRestrictions for the Model are applied.

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 ConformanceUnits associated with the Node.

The ConformanceUnits are specified by the authors of the UANodeSet. This list allows users of the UANodeSet to exclude Nodes based on a selection of ConformanceUnits.

When a UAInstance has the ParentNodeId specified, the UAInstance inherits the ConformanceUnits from its parent in addition to any ConformanceUnits explicitly specified on the instance.

Documentation

String

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

ReleaseStatus

ReleaseStatus

An enumeration specifying the release status for the UANode.

Valid values are:

Released: The type is released. Changes require errata;

Draft: The type is draft and subject to change;

Deprecated: The type should not be used;

This field is for use on UATypes and static UAInstances. The field shall not be specified for UAInstances that are InstanceDeclarations.

References

Reference []

The list of References for the Node.

RolePermissions

RolePermission []

The list of RolePermissions for the Node.

If the list is not specified or has zero length the default RolePermissions from the Model are used unless HasNoPermissions is TRUE.

HasNoPermissions

Boolean

If TRUE, the UANode has no RolePermissions and the contents of the RolePermissions array and the default RolePermissions for the model are ignored. The default value is FALSE.

Extensions

xs:any []

An element containing a list of 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.

When a UANodeSet is the normative definition for the Nodes defined by a specification then the RolePermissions are the minimum requirements. Implementors may add additional Roles that have privileges equivalent to the Roles specified, however, they may not make the Node more accessible. For example, Anonymous or AuthenticatedUser Roles shall not be granted more access to the Node than is specified in this field.

Similarly, the AccessRestrictions are the minimum required. For example, a Node that has the EncryptionRequired AccessRestriction specified shall not have that restriction removed, however, additional restrictions may be added by the implementor.

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.