During most communication between the client and the server, OPC Unified Architecture uses namespace indices, which are integer numbers, to distinguish between namespaces. The namespaces indices reference a namespace table made available by the server, and only the namespace table actually contains the namespace URIs. The order of entries in the server’s namespace table can change between sessions. For this reason, namespace indices should not be persisted, as they alone are not generally sufficient to identify a namespace and thus a node.
There are, however, situations where you may want to include the namespace index in the expanded node Id string:
For situations like this, QuickOPC-UA allows the use of “ns=…” notation for a namespace index inside the expanded node ID strings, and has two additional provisions:
nsu=http://test.org/UA/Data/;ns=2;i=10219
Note that namespace index 0 (zero) is reserved for the standard namespace maintained by the OPC Foundation ("http://opcfoundation.org/UA/"), and is not usually specified inside the expanded node ID strings. In addition (as an exception to the rule laid out above), it is safe to use nodes inside namespace index 0 without specifying their namespace URI, because the namespace index is "tied" to the URI by the provision in the standard, and the OPC servers are not allowed to change that.