0

我知道 Yang 模型中的“when”语句将 XPATH 表达式作为其参数。

什么是正确的 YANG XPATH 语法来组合多个表达式以便如下建模类型/值数据容器?

container c1 {
    leaf  attrib-type {
        type uint32;
    }
    leaf attrib-val-int {
        when "../attrib-type = 1 or ../attrib-type = 2"
        type uint32;
    }   

    leaf attrib-val-string {
        when "../attrib-type = 5 or ../attrib-type = 6"
        type string;
    }   
}
4

2 回答 2

4

您使用的 XPath 语法是正确的。您唯一缺少的是语句后的分号when

有关 YANG 中使用的 XPath 语法的完整参考,请查看 XPath 1.0 规范。

6.4. XPath 评估

YANG 依赖 XML 路径语言 (XPath) 1.0 [ XPATH ] 作为指定许多节点间引用和依赖关系的符号。

于 2016-01-08T06:49:15.120 回答
2

在 XPath 中,第一个条件可以写成:

when "../attrib-type[.=1 or .=2]"

或者,如果您需要显式返回布尔类型:

when "boolean(../attrib-type[.=1 or .=2])"
于 2015-11-27T08:18:31.220 回答