5.1.1. 导入并包含修订

发布的模块随着时间的推移而独立发展为了实现这一发展,可以使用特定的修订版导入模块。最初,模块在写入模块时导入当前其他模块的修订版。随着未来版本导入模块的发布,导入模块不受影响,其内容不变。当模块的作者准备移动到最近发布的导入模块的修订版时,模块将被重新发布,并带有更新的“import”语句。通过重新发布新版本,作者明确表示接受导入模块的任何更改。

对于子模块,这个问题是相关的,但更简单。包含子模块的模块或子模块可以指定包含的子模块的修订版本。如果某个子模块发生更改,则需要更新包含该子模块的任何模块或子模块以引用新的修订版本。

例如,模块“b”导入模块a。

module a {
  yang-version 1.1;
  namespace "urn:example:a";
  prefix "a";

  revision 2008-01-01 { ... }
  grouping a {
    leaf eh { .... }
  }
}

module b {
  yang-version 1.1;
  namespace "urn:example:b";
  prefix "b";

  import a {
    prefix "p";
    revision-date 2008-01-01;
  }

  container bee {
    uses p:a;
  }
}

当“a”的作者发布一个新的修订版本时,对于“b”的作者来说,这些变化可能是不可接受的。如果新的修订是可以接受的,那么“b”的作者可以在“import”语句中重新发布修订版本。

如果一个模块没有通过特定的修订导入,则未定义使用哪个修订。

results matching ""

    No results matching ""