The UANodeSetChanges is the root of a document that contains a set of changes to an AddressSpace. It is expected that a single file will contain either a UANodeSet or a UANodeSetChanges element at the root. It provides a list of Nodes/References to add and/or a list Nodes/References to delete. The UANodeSetChangesStatus structure defined in F.22 is produced when a UANodeSetChanges document is applied to an AddressSpace.

The elements of the type are defined in Table F.14.

Table F.14 – UANodeSetChanges

Element

Type

Description

NamespaceUris

UriTable

Same as described in Table F.1.

ServerUris

UriTable

Same as described in Table F.1.

Models

ModelTableEntry []

Same as described in Table F.1.

Aliases

AliasTable

Same as described in Table F.1.

Extensions

xs:any

Same as described in Table F.1.

LastModified

DateTime

Same as described in Table F.1.

NodesToAdd

NodesToAdd

A list of new Nodes to add to the AddressSpace.

ReferencesToAdd

ReferencesToChange

A list of new References to add to the AddressSpace.

NodesToDelete

NodesToDelete

A list of Nodes to delete from the AddressSpace.

ReferencesToDelete

ReferencesToChange

A list of References to delete from the AddressSpace.

The Models element specifies the version of one or more Models which the UANodeSetChanges file will create when it is applied to an existing Address Space. The UANodeSetChanges cannot be applied if the current version of the Model in the Address Space is higher. The RequiredModels sub-element (see Table F.1) specifies the versions Models which must already exist before the UANodeSetChanges file can be applied. When checking dependencies, the version of the Model in the existing Address Space must exactly match the required version.

If a UANodeSetChanges file modifies types and there are existing instances of the types in the AddressSpace, then the Server shall automatically modify the instances to conform to the new type or generate an error.

A UANodeSetChanges file is processed as a single operation. This allows mandatory Nodes or References to be replaced by specifying a Node/Reference to delete and a Node/Reference to add.