The BrowseName is a QualifiedName with a NamespaceIndex and a Name. For example, the BrowseName of the engineering units property is “0:EngineeringUnits”, where 0 is the NamespaceIndex and EngineeringUnits the Name. The NamespaceIndex is defined in a specific context (typically in the NamesapceArray of the OPC UA Server), and the same NamespaceUri might have different NamespaceIndexes in different contexts.

A Companion Specification defines a table where the assignment of NamespaceIndex to NamespaceUri is defined, similar to the NamespaceArray of an OPC UA Server.

Therefore, when using a BrowseName in normal text of a Companion Specification, the NamespaceIndex should be used as well, like “0:EngineeringUnits”. This avoids ambiguities.

When text is used in a UaNodeSet, for example in the Description Attribute, this text will show up in the AddressSpace of OPC UA Servers, where in each Server the NamespaceIndex very likely will be different than defined in the Companion Specification.

Therefore, it is recommended to omit the NamespaceIndex in those places and just use the Name-part of the BrowseName. For example, “The unit is defined in the EngineeringUnits property.” In almost all cases, there will not be two BrowseNames in the context of the Description, where the same Name is used twice with different Namespaces. In very rare cases, where it can be foreseen that this will or may happen, the text should explicitly reference the Namespace, not the NamespaceIndex. For example: “The unit is defined in the EngineeringUnits property specified by ‘http://opcfoundation.org/UA/’”.

___________