The UANodeSetis the root of the document. It defines a set of Nodes, their Attributesand References. Referencesto Nodesoutside of the document are allowed.

The structure of a UANodeSetis shown in Table F.1.

Table F.1– UANodeSet

Element

Type

Description

NamespaceUris

UriTable

A list of NamespaceUrisused in the UANodeSet.

This array shall have at least one entry which is equal to the ModelUri for each entry in the Models array.

ServerUris

UriTable

A list of ServerUrisused in the UANodeSet.

Models

ModelTableEntry []

A list of models that are defined in the UANodeSet along with any dependencies these models have.

ModelUri

String

The URI for the model.

This URI shall be one of the entries in the NamespaceUris table.

XmlSchemaUri

String

The URI for the XML schema namespace used to serialize values of the DataTypesdefined by the Model.

The field is required if DataTypesare defined in the UANodeSet.

The UA XML Encoding (5.3) rules implicitly define the XML schema for any DataTypedescribed by a DataTypeDefinition(F.12).

Version

String

The version of the model defined in the UANodeSet.

This is a human readable string and not intended for programmatic comparisons.

PublicationDate

DateTime

When the model was published.

This value is used for comparisons if the Model is defined in multiple UANodeSet files.

RolePermissions

RolePermission []

The list of default RolePermissionsfor all Nodesin the model.

AccessRestrictions

AccessRestriction

The default AccessRestrictionsthat apply to all Nodes in the model.

The default value is 0.

RequiredModels

ModelTableEntry []

A list of dependencies for the model.

If the model requires a minimum version the PublicationDateshall be specified. Tools which attempt to resolve these dependencies may accept any PublicationDateafter this date.

The RolePermissionand AccessRestrictionselements shall not be specified for any entry in this list.

Aliases

AliasTable

A list of Aliasesused in the UANodeSet.

Extensions

xs:any []

An element containing a list of vendor defined extensions to the UANodeSet.

LastModified

DateTime

The last time a document was modified.

<choice>

UAObject

UAVariable

UAMethod

UAView

UAObjectType

UAVariableType

UADataType

UAReferenceType

The Nodesin the UANodeSet.

The NamespaceUrisis a list of URIs for namespaces used in the UANodeSet. The NamespaceIndexes used in NodeId, ExpandedNodeIdsand QualifiedNamesidentify an element in this list. The first index is always 1 (0 is always the OPC UA namespace).

The ServerUrisis a list of URIs for Serversreferenced in the UANodeSet. The ServerIndexin ExpandedNodeIdsidentifies an element in this list. The first index is always 1 (0 is always the current Server).

The Models element specifies the Models which are formally defined by the UANodeSet. It includes version information as well as information about any dependencies which the model may have. If a Model is defined in the UANodeSetthen the file shall also define an instance of the NamespaceMetadataType ObjectType. See OPC 10000-5for more information. Following the references in the RequiredModelsfield shall not result in circular dependencies.

WhenNodeSetsare normative documents for a specification, they can include Nodes, such as unattached Properties, that exist only to formally define elements of the specification. For example, the base NodeSetfor this specification includes an unattached Property Nodecalled “NodeVersion” which can be added to any Node. The Nodein the NodeSetdefines the BrowseName, DataTypeand ValueRank.

The Aliasesare a list of string substitutions for NodeIds. Aliasescan be used to make the file more readable by allowing a string like ‘HasProperty’ in place of a numeric NodeId (i=46). Aliasesare optional.

The Extensionsare free form XML data that can be used to attach vendor defined data to the UANodeSet.