Package org.opendaylight.yangtools.yang.model.api.meta

Meta model of YANG model as was defined in RFC6020 and extracted by analysis of YANG text.

Existence of meta-model allows for better evolution of YANG language as it evolves and allows for better support of different serializations of YANG model.

Statements

YANG source is defined as sequence of statement in RFC6020, Section 6.3. this model is also correct for YIN, which is XML serialisation of YANG source.

Statements are represented as instances / subclasses of ModelStatement concept and its two subconcepts which are:

  • DeclaredStatement - this contains navigable set of statements model as they was defined / present in original processed sources.
  • EffectiveStatement - navigable set of statements which represents effective model of parsed YANG sources, which is derived by rules present in YANG specification and/or was introduced in form of extensions.

Clear separation of declared / effective model is needed, since statement definition also contains information how effective model is computed and there is no one to one mapping between declared and effective model thanks to statements such as uses, augment,deviate,refine.

Identifiers and Namespaces

Effective model of YANG has several identifier types and namespaces, which behaves differently and are mostly used during processing data and/or during computing effective (semantic) model.

Common abstraction for various types of namespaces is IdentifierNamespace from which concrete effective model namespaces are derived.