# OpcNodeIdFormat Enum

> Reference: Defines the formatting type of an OpcNodeId.

<dl class="api-definition">
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

Defines the formatting type of an [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/).

## Syntax

<div class="api-signature" data-lang="csharp">

```csharp
public enum OpcNodeIdFormat
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Public Enum OpcNodeIdFormat
```

</div>

## Inheritance

[Object](https://learn.microsoft.com/dotnet/api/system.object) → [ValueType](https://learn.microsoft.com/dotnet/api/system.valuetype) → [Enum](https://learn.microsoft.com/dotnet/api/system.enum) → **OpcNodeIdFormat**

## Fields

| Name | Value | Description |
|---|---|---|
| <a id="advanced"></a>`Advanced` | `4` | An [Uri](https://learn.microsoft.com/dotnet/api/system.uri) based format which either uses a generic [Uri](https://learn.microsoft.com/dotnet/api/system.uri) for the [Namespace](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespace) or the concrete [NamespaceUri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespaceuri) (if available). This namespace uri is then extended with a [Fragment](https://learn.microsoft.com/dotnet/api/system.uricomponents#system-uricomponents-fragment) component where the component identifies the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) and [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) of the identifier. In case there the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) property is not equals [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/members#empty) the [Query](https://learn.microsoft.com/dotnet/api/system.uricomponents#system-uricomponents-query) component will contain the content of the [Fragment](https://learn.microsoft.com/dotnet/api/system.uricomponents#system-uricomponents-fragment) just mentioned and the [Fragment](https://learn.microsoft.com/dotnet/api/system.uricomponents#system-uricomponents-fragment) will instead contain the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path). The used format is "NamespaceUri((#((i\|g\|b)=)?Value)\| (?((i\|g\|b)=)?Value#Path))" or "OpcNamespace.UriScheme://OpcNamespace.UriHost/ ((#((i\|g\|b)=)?Value)\|(?((i\|g\|b)=)?Value#Path))". In case there the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) is equals [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) the prefix for the type is omitted. |
| <a id="advancedexplicit"></a>`AdvancedExplicit` | `5` | The extended formatting of the [Advanced](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/#advanced) format which additionally expresses the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) nevertheless the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) is a [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string). The used format is "NamespaceUri((#(i\|s\|g\|b)=Value)\|(?(i\|s\|g\|b)=Value#Path))" or "OpcNamespace.UriScheme://OpcNamespace.UriHost/((#(i\|s\|g\|b)=Value)\|(?(i\|s\|g\|b)= Value#Path))". |
| <a id="compound"></a>`Compound` | `2` | A compact formatting which formats an identifier using the format "NamespaceIndex:((i\|g\|b)=)?Value\[#Path\]". In case there the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) is equals [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) the prefix for the type is omitted. In case there the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) property is not equals [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/members#empty) it is appended using the [DefaultSeparatorOfPath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#defaultseparatorofpath). |
| <a id="compoundexplicit"></a>`CompoundExplicit` | `3` | The extended formatting of the [Compound](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/#compound) format which additionally expresses the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) nevertheless the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value) is a [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string). The used format is "NamespaceIndex:(i\|s\|g\|b)=Value\[#Path\]". |
| <a id="foundation"></a>`Foundation` | `0` | The default formatting which formats an identifier within the default namespace ([NamespaceIndex](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespaceindex) is equals zero) using the format "(i\|s\|g\|b)=Value". In case there the identifier not refers to the default namespace the format "ns=NamespaceIndex;(i\|s\|g\|b)=Value\[#Path-by-'s'\]" is used. The prefix before the value always indicates the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) of the [Value](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#value). In case there the [Path](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#path) property is not equals [Empty](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/members#empty) and the [Type](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#type) is equals [String](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidtype/#string) then the [OpcNamePath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnamepath/) is appended using the [DefaultSeparatorOfPath](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#defaultseparatorofpath). |
| <a id="foundationexpanded"></a>`FoundationExpanded` | `1` | The extended formatting of the [Foundation](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/#foundation) format. Which uses the format "nsu=NamespaceUri;(i\|s\|g\|b)=Value\[#Path-by-'s'\]" if the identifier refers to [NamespaceUri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespaceuri) that is not a null reference (Nothing in Visual Basic). In case there the [NamespaceUri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#namespaceuri) is a null reference (Nothing in Visual Basic) the format of the [Foundation](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeidformat/#foundation) format is used. |

## Applies to

| Package | Versions |
|---|---|
| Opc.UaFx.Advanced | v2.5–v2.59 |
