根据给定的值,尝试使用两种不同的if-类型的杨叶。目前有:
leaf interface_number {
when "boolean(string(/payload/interface_type) != 'ae')";
type isyt:interface_number_value;
when "boolean(string(/payload/interface_type) == 'ae')";
type isyt:interface_lag_value;
description
"Interface Number. Example value: 1/1/1 or 11 for LAG";
mandatory "true";
}我也尝试过:
leaf interface_number {
when "boolean(string(/payload/interface_type) != 'ae')" {
type isyt:interface_number_value;
}
when "boolean(string(/payload/interface_type) == 'ae')" {
type isyt:interface_lag_value;
}
description
"Interface Number. Example value: 1/1/1 or 11 for LAG";
mandatory "true";
}杨似乎接受了第一种错误,而第二种则是语句的布尔型。这有可能吗?或者有更好的方法来解决这个问题。
发布于 2022-07-08 14:21:09
杨语法不是这样工作的;type语句不能以when为条件。因此,如果计算结果为false,则when affects the whole enclosing node将根本无效。
这里可以做的是创建一个choice,它的case语句是when-conditional,这取决于../interface_type叶的类型。对于您在这些leaf语句中定义的每个case,这将需要一个不同的名称。
https://stackoverflow.com/questions/70363443
复制相似问题