Glossary

Many important terms are also defined in the YANG specification, see section 3 of [RFC7950].

canonical representation

A normalized string value that [RFC7950] defines for most scalar types.

content type

Character of a schema node, i.e. whether it represents configuration, non-configuration, or both. Represented by the enumeration ContentType.

cooked value

An instance value that is in the internal form prescribed for that instance. That is, scalar values are represented according to their types, while objects and arrays become instances of of instvalue.ObjectValue and instvalue.ArrayValue, respectively.

data path

A special form of schema path containing only names of data nodes. The relationship of data path and schema path is analogical to how data route is related to schema route.

data route

A list of qualified names of data nodes interpreted relative to a given reference schema node. As a schema route, a data route also identifes a unique descendant schema node because names of data nodes belonging to the cases of the same choice are required to be unique, see sec. 6.2.1 in [RFC7950].

implemented module

A YANG module that contributes data nodes to the data model. In YANG library, implemented modules have the conformance-type parameter set to implement. See [RFC7895], sec. 2.2.

imported-only module

A YANG module whose data nodes aren’t contributed to the data model. Other modules import such a module in order to use its typedefs and/or groupings. In YANG library, implemented modules have the conformance-type parameter set to import. See [RFC7895], sec. 2.2.

instance identifier

A string that identifies a unique instance in the data tree. The syntax of instance identifiers is defined in [RFC7950], sec. 9.13, and [RFC7951], sec. 6.11.

instance name

A string in the form [module_name:]name where name is a name of a data node. Instance names identify nodes in the data tree, and are used both as ObjectValue keys and member names in JSON serialization. See [RFC7951], sec. 4 for details. Python type alias for the instance name is InstanceName.

module identifier

A tuple in the form (module_name, revision) that identifies a particular revision of a module. The second component, revision, is either a revision date (string in the form YYYY-MM-DD) or None. In the latter case the revision is unspecified.

namespace identifier

A string identifying the namespace of names defined in a YANG module or submodule. For main modules, the namespace identifier is identical to the module name whereas for submodules it is the name of the main module to which the submodule belongs.

node identifier

Name of a single schema node with optional namespace prefix. See production node-identifier in [RFC7950], sec. 14.

prefixed name

A string in the form [prefix:]name where name is the name of a YANG entity (schema node, feature, identity etc.), and prefix is the namespace prefix declared for the module in which the entity is defined. Python type alias for the prefixed name is PrefName.

qualified name

A tuple in the form (name, module) where name is the name of a YANG entity (schema or data node, feature, identity etc.), and module is the name of the YANG module in which the entity is defined. Python type alias for the qualified name is QualName.

raw value

A value of an instance that is produced by the Python parser from serialised JSON data. Based on its type and data model information, a raw value is transformed to a cooked value.

resource identifier

A string identifying an instance in the data tree that is suitable for use in URLs. The syntax of resource identifiers is defined in [RFC8040], sec. 3.5.3.

schema error

The value of instance node violates a schema constraint, i.e. one of the following: grammar defined by the hierarchy of schema nodes (also taking into account conditions specified by when and if-feature statements), type of the value, presence and uniqueness of list keys.

schema node identifier

A sequence of prefixed names of schema nodes separated with slashes. A schema node identifier that starts with a slash is absolute, otherwise it is relative. See [RFC7950], sec. 6.5.

schema path

A string of slash-separated schema node names in the form [module_name:]schema_node_name. The initial component must always be qualified with a module name. Any subsequent component is qualified with a module name if and only if its namespace is different from the previous component. A schema path is always absolute, i.e. starts at the top of the schema. A leading slash is optional. Python type alias for the schema path is SchemaPath.

schema route

A list of qualified names of schema nodes interpreted relative to a given reference schema node and uniquely identifies its descendant schema node. Python type alias for the schema route is SchemaRoute.

semantic error

The value of an instance node violates a semantic rule, i.e. one of the following: must expression, referential integrity constraint (for leaf nodes with leafref or instance-identifier type), number of list entries prescribed by min-elements and max-elements statements, unique constraint specified for a list node, non-unique values of a leaf-list node that represents configuration.

validation scope

Set of validation constraints that can be checked during validation. It can be schema constraints, semantic rules, or both. Represented by the enumeration ValidationScope. See also yangson.instance.InstanceNode.validate().

YANG identifier

A string satisfying the rules for a YANG identifier (see sec. 6.2 in [RFC7950]): it starts with an uppercase or lowercase ASCII letter or an underscore character (_), followed by zero or more ASCII letters, digits, underscore characters, hyphens, and dots. Python type alias for the YANG identifier is YangIdentifier.