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
|NodeId||NodeId||A NodeId serialized as a String.The syntax of the serialized String is defined in 184.108.40.206.|
|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 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.|
|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.
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.