This ObjectTypedefines the metadata for a namespace provided by the Server. It is formally defined in Table 21.

Instances of this Objectallow Serversto provide more information like version information in addition to the namespace URI. Important information for aggregating Serversis provided by the StaticNodeIdTypes, StaticNumericNodeIdRange and StaticStringNodeIdPattern Properties.

Table 21– NamespaceMetadataType definition

Attribute

Value

BrowseName

NamespaceMetadataType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseObjectType defined in 6.2

HasProperty

Variable

NamespaceUri

String

PropertyType

Mandatory

HasProperty

Variable

NamespaceVersion

String

PropertyType

Mandatory

HasProperty

Variable

NamespacePublicationDate

DateTime

PropertyType

Mandatory

HasProperty

Variable

IsNamespaceSubset

Boolean

PropertyType

Mandatory

HasProperty

Variable

StaticNodeIdTypes

IdType[]

PropertyType

Mandatory

HasProperty

Variable

StaticNumericNodeIdRange

NumericRange[]

PropertyType

Mandatory

HasProperty

Variable

StaticStringNodeIdPattern

String

PropertyType

Mandatory

HasComponent

Object

NamespaceFile

-

AddressSpaceFileType

Optional

HasProperty

Variable

DefaultRolePermissions

RolePermissionType[]

PropertyType

Optional

HasProperty

Variable

DefaultUserRolePermissions

RolePermissionType[]

PropertyType

Optional

HasProperty

Variable

DefaultAccessRestrictions

AccessRestrictionType

PropertyType

Optional

HasProperty

Variable

ConfigurationVersion

VersionTime

PropertyType

Optional

Conformance Units

Base Info ServerType

The BrowseNameof instances of this type shall be derived from the represented namespace. This can, for example, be done by using the index of the namespace in the NamespaceArrayas NamespaceIndexof the QualifiedNameand the namespace URI as nameof the QualifiedName.

The NamespaceUri Propertycontains the namespace represented by an instance of the MetaDataType.

The NamespaceVersion Propertyprovides version information for the namespace. It is intended for display purposes and shall not be used to programmatically identify the latest version. If there is no formal version defined for the namespace this Propertyshall be set to a null String.

The NamespacePublicationDateProperty provides the publication date of the namespace version. This Propertyvalue can be used by Clientsto determine the latest version if different versions are provided by different Servers. If there is no formal publication date defined for the namespace this Propertyshall be set to a null DateTime.

The IsNamespaceSubset Propertydefines whether all Nodesof the namespace are accessible in the Serveror only a subset. It is set to FALSE if the full namespace is provided and TRUE if not. If the completeness is unknown then this Propertyshall be set to TRUE.

Static Nodesare identical for all Attributesin all Servers, including the Value Attribute. For TypeDefinitionNodes, also the InstanceDeclarationsshall be identical. That means that for static Nodesthe semantic is always the same. Namespaces with static Nodesare for example namespaces defined by standard bodies like the OPC Foundation. This is important information for aggregating Servers. If the namespace is dynamic and used in several Serversthe aggregating Serverneeds to distinguish the namespace for each aggregated Server. The static Nodesof a namespace only need to be handled once, even if they are used by several aggregated Servers.

The StaticNodeIdTypes Propertyprovides a list of IdTypesused for static Nodes. All Nodesin the AddressSpaceof the namespace using one of the IdTypesin the array shall be static Nodes.

The StaticNumericNodeIdRange Propertyprovides a list of NumericRangesused for numeric NodeIdsof static Nodes. If the StaticNodeIdTypes Propertycontains an entry for numeric NodeIds then this Property is ignored.

The StaticStringNodeIdPattern Propertyprovides a regular expression as defined for the Like Operatordefined in OPC 10000-4to filter for string NodeIdsof static Nodes. If the StaticNodeIdTypes Propertycontains an entry for string NodeIdsthen this Propertyis ignored.

The Object NamespaceFilecontains all Nodesand Referencesof the namespace in an XML file where the Information Model XML Schema is defined in OPC 10000-6. The XML file is provided through an AddressSpaceFileType Object.

The DefaultRolePermissions Propertyprovides the default permissionsifa Serversupports RolePermissionsfor the Namespace.A Nodein the Namespaceoverrides this default by adding a RolePermissions Attributeto the Node. If a Serverimplements a vendor-specific RolePermissionsmodel for a Namespace,it does not add the DefaultRolePermissions Property to the NamespaceMetadata Object.

The DefaultUserRolePermissions Property provides the default user permissionsifa Serversupports UserRolePermissions for the Namespace.A Nodein the Namespaceoverrides this default by adding a UserRolePermissions Attributeto the Node. If a Serverimplements a vendor-specific UserRolePermissions model for a Namespace,it does not add the DefaultUserRolePermissions Property to the NamespaceMetadata Object.

The DefaultAccessRestrictions Propertyis present if a Serversupports AccessRestrictionsfor the Namespace andprovidesthedefaults. A Nodein the Namespaceoverrides this default by adding a AccessRestrictions Attribute to the Node. If a Serverimplements a vendor-specific AccessRestriction model for a Namespace,it does not add the DefaultAccessRestrictions Property to the NamespaceMetadata Object.

The optional ConfigurationVersion Propertyindicates the current configuration of all Nodesof this Namespace. A Nodeof this Namespaceis identified by having the corresponding NamespaceIndexin the NodeId. A Clientcan use the ConfigurationVersion Propertyin conjunction with the Constant Fieldof the AccessLevelEx Attribute, defined in OPC 10000-3, to optimize the use of Variableswhich have a constant value.