Errata exists for this version of the document.
This ObjectType defines the metadata for a namespace provided by the Server. It is formally defined in Table 21.
Instances of this Object allow Servers to provide more information like version information in addition to the namespace URI. Important information for aggregating Servers is 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 |
The BrowseName of 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 NamespaceArray as namespaceIndex of the QualifiedName and the namespace URI as name of the QualifiedName.
The NamespaceUri Property contains the namespace represented by an instance of the MetaDataType.
The NamespaceVersion Property provides 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 Property shall be set to a null String.
The NamespacePublicationDate Property provides the publication date of the namespace version. This Property value can be used by Clients to determine the latest version if different versions are provided by different Servers. If there is no formal publication date defined for the namespace this Property shall be set to a null DateTime.
The IsNamespaceSubset Property defines whether all Nodes of the namespace are accessible in the Server or 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 Property shall be set to TRUE.
Static Nodes are identical for all Attributes in all Servers, including the Value Attribute. For TypeDefinitionNodes, also the InstanceDeclarations shall be identical. That means that for static Nodes the semantic is always the same. Namespaces with static Nodes are 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 Servers the aggregating Server needs to distinguish the namespace for each aggregated Server. The static Nodes of a namespace only need to be handled once, even if they are used by several aggregated Servers.
The StaticNodeIdTypes Property provides a list of IdTypes used for static Nodes. All Nodes in the AddressSpace of the namespace using one of the IdTypes in the array shall be static Nodes.
The StaticNumericNodeIdRange Property provides a list of NumericRanges used for numeric NodeIds of static Nodes. If the StaticNodeIdTypes Property contains an entry for numeric NodeIds then this Property is ignored.
The StaticStringNodeIdPattern Property provides a regular expression as defined for the Like Operator defined in OPC 10000-4 to filter for string NodeIds of static Nodes. If the StaticNodeIdTypes Property contains an entry for string NodeIds then this Property is ignored.
The Object NamespaceFile contains all Nodes and References of 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 Property provides the default permissions if a Server supports RolePermissions for the Namespace. A Node in the Namespace overrides this default by adding a RolePermissions Attribute to the Node. If a Server implements a vendor-specific RolePermissions model for a Namespace, it does not add the DefaultRolePermissions Property to the NamespaceMetadata Object.
The DefaultUserRolePermissions Property provides the default user permissions if a Server supports UserRolePermissions for the Namespace. A Node in the Namespace overrides this default by adding a UserRolePermissions Attribute to the Node. If a Server implements a vendor-specific UserRolePermissions model for a Namespace, it does not add the DefaultUserRolePermissions Property to the NamespaceMetadata Object.
The DefaultAccessRestrictions Property is present if a Server supports AccessRestrictions for the Namespace and provides the defaults. A Node in the Namespace overrides this default by adding a AccessRestrictions Attribute to the Node. If a Server implements a vendor-specific AccessRestriction model for a Namespace, it does not add the DefaultAccessRestrictions Property to the NamespaceMetadata Object.