The symbolic name of each Nodedefined in this specification is its BrowseName, or, when it is part of another Node, the BrowseNameof the other Node, a “.”, and the BrowseNameof itself. In this case “part of” means that the whole has a HasPropertyor HasComponent Referenceto its part. Since all Nodesnot being part of another Nodehave a unique name in this specification, the symbolic name is unique.
The NamespaceUri for all NodeIdsdefined in this specification is defined in Annex A. The NamespaceIndex for this NamespaceUri is vendor-specific and depends on the position of the NamespaceUri in the server namespace table.
Note that this specification not only defines concrete Nodes, but also requires that some Nodesshall be generated, for example one for each Sessionrunning on the Server. The NodeIdsof those Nodesare Server-specific, including the namespace. But the NamespaceIndex of those Nodescannot be the NamespaceIndex used for the Nodesdefined in this specification, because they are not defined by this specification but generated by the Server.
The text part of the BrowseNamesfor all Nodesdefined in this specification is specified in the tables defining the Nodes. The NamespaceUri for all BrowseNames defined in this specification is defined in Annex A.
If the BrowseNameis not defined by this specification, a namespace index prefix like ‘0:EngineeringUnits’ or ‘2:DeviceRevision’ is added to the BrowseName. This is typically necessary if a Property of another specification is overwritten or used in the OPC UA types defined in this specification. Table 42provides a list of namespaces and their indexes as used in this specification.