Click or drag to resize

View Node Class

Home

This topic contains the following sections:

Underlying systems are often large and clients often have an interest in only a specific subset of the data. They do not need, or want, to be burdened with viewing nodes in the Address Space for which they have no interest.

To address this problem, the OPC Unified Architecture defines the concept of a view. Each view defines a subset of the nodes in the Address Space. The entire Address Space is the default view. Each node in a view may contain only a subset of its references, as defined by the creator of the view. Views are defined using the View node class. The View node acts as the root for the nodes in the view.

All nodes contained in a view shall be accessible starting from the View node when browsing in the context of the View. The browse may take several hops, i.e. it is not necessary that all containing nodes can be browsed directly from the View node.

Note Note

A View node may not only be used as additional entry point into the Address Space but as a construct to organize the Address Space and thus as the only entry point into a subset of the Address Space.

Therefore clients shall not ignore View nodes exposed by a server Address Space. Simple clients that do not deal with views for filtering purposes can for example handle a View node like an object of type FolderType (see Object ).

The View node class inherits the base attributes from the Base node class. It also defines two additional attributes:

  • ContainsNoLoops - is set to false if the server is not able to identify if the view contains loops or not.

  • EventNotifier - identifies if the View can be used to subscribe to events.

To avoid recursion, i.e. getting all events of the server, the Server object node described in section Information Model shall never be part of any view since it provides all events of the server.

Views are defined by the server. The browsing and querying services defined in section Services expect the NodeId attribute of a View node to provide these services in the context of the View node.

HasProperty references are used to identify the properties of a View node. The property NodeVersion is used to indicate the version of the View node. The ViewVersion property indicates the version of the content of the View object. In contrast to the NodeVersion, the ViewVersion property is updated even if nodes not directly referenced by the View node are added to or deleted from the View. This property is optional because it might not be possible for servers to detect changes in the view contents. Servers may also generate a ModelChangeEvent, described in Standard Event Types, if nodes are added to or deleted from the View node. There are no additional properties defined for View nodes class in this document, but additional properties for the View nodes may be defined.

Note Note

Views can be the source node of any hierarchical reference. They shall not be the source node of any non-hierarchical reference.

ContainsNoLoops Attribute

The mandatory ContainsNoLoops attribute is set to false if the server is not able to identify if the view contains loops or not.

EventNotifier Attribute

The mandatory EventNotifier attribute identifies if the View can be used to subscribe to events that either occur in the content of the view or as model change events of the content of the View or to read / write the history of the events. A View node that supports events shall provide all events that occur in any object used as event notifier that is part of the content of the view. In addition, it shall provide all model change events that occur in the context of the View.

See Also