4.2.7. 选择(Choices)

YANG允许数据模型使用“choice”和“case”语句将不兼容的节点分隔为不同的选项。 “choice”语句包含一组“case”语句,用于定义不能一起出现的模式节点集合。 每个“case”可能包含多个节点,但每个节点可能只出现在“choice”下的一个“case”中。

choicecase节点仅出现在模式树(schema tree)中,而不出现在数据树中。 概念模式之外不需要额外的层次结构。 一个case的存在是由一个或多个节点的存在表示。

由于只有一个选择的情况在任何时候都是有效的,所以当在数据树中创建一个节点时,所有其他情况下的所有节点都被隐式删除。 服务器处理约束的执行,防止配置中存在不兼容。

YANG示例:

 container food {
   choice snack {
     case sports-arena {
       leaf pretzel {
         type empty;
       }
       leaf beer {
         type empty;
       }
     }
     case late-night {
       leaf chocolate {
         type enumeration {
           enum dark;
           enum milk;
           enum first-available;
         }
       }
     }
   }
 }

XML编码示例:

<food>
  <pretzel/>
  <beer/>
</food>

第7.9节介绍了“choice”的声明。

results matching ""

    No results matching ""