Errata exists for this version of the document.
An ExpandedNodeId value is encoded as an xs:string with the syntax:
svr=<serverindex>;ns=<namespaceindex>;<type>=<value>
or
svr=<serverindex>;nsu=<uri>;<type>=<value>
The possible fields are shown in Table 21.
Table 21 – Components of ExpandedNodeId
Field |
Data Type |
Description |
<serverindex> |
UInt32 |
The ServerIndex formatted as a base 10 number. If the ServerIndex is 0 then the entire 'svr=0;' clause shall be omitted. |
<namespaceindex> |
UInt16 |
The NamespaceIndex formatted as a base 10 number. If the NamespaceIndex is 0 then the entire 'ns=0;' clause shall be omitted. The NamespaceIndex shall not be present if the URI is present. |
<uri> |
String |
The NamespaceUri formatted as a string. Any reserved characters in the URI shall be replaced with a ‘%’ followed by its 8 bit ANSI value encoded as two hexadecimal digits (case insensitive). For example, the character ‘;’ would be replaced by ‘%3B’. The reserved characters are ‘;’ and ‘%’. If the NamespaceUri is null or empty, then 'nsu=;' clause shall be omitted. |
<type> |
Enumeration |
A flag that specifies the IdentifierType. This field is described in Table 20. |
<value> |
* |
The Identifier encoded as string. This field is described in Table 20. |
The XML schema for an ExpandedNodeId is:
<xs:complexType name="ExpandedNodeId">
<xs:sequence>
<xs:element name="Identifier" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>