Namespace aware functions

The following functions are namespace aware: add, add-if, default, make-ni, remove, copy, rename and path. This means they behave slightly differently when namespaced identifiers is enabled.

  • Function arguments that are of type wildcard-string will make pattern matching aware of the boundary between the namespace and the identifier parts of namespaced identifiers.

  • Function arguments that reference unqualified properties, i.e. properties with only the identifier part, will in general match that property in all namespaces.

See the individual functions for more details.

NI escape syntax

"foo:bar" is an example of a fully qualified namespaced identifier. "bar" is an unqualified one and consists of only the identifier part.

There exists two special escape prefixes, ":" and "::".

  • If you want to make sure that the value is to be interpreted as-is then use the "::" prefix, e.g. "::bar". "::foo:bar" is equivalent to "foo:bar".

  • If you want the value to be relative to the current namespace, i.e. identity or property namespace depending on the context, then use the ":" prefix, e.g. ":bar". If the current property namespace is "foo" then ":bar" is equivalent to "foo:bar".