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
|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.