Модель YANG при использовании оператора

Я понимаю, что оператор «когда» в модели Янга принимает в качестве аргумента выражение 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;
    }   
}

person Mukesh MV    schedule 28.05.2015    source источник


Ответы (2)


Синтаксис XPath, который вы использовали, правильный. Единственное, чего вам не хватает, так это точки с запятой после оператора when.

Полную информацию о синтаксисе XPath, используемом в YANG, см. в спецификации XPath 1.0.

6.4. Оценки XPath

YANG использует XML Path Language (XPath) 1.0 [XPATH] как нотация для указания многих межузловых ссылок и зависимостей.

person Piotr Babij    schedule 08.01.2016

В XPath первое условие можно записать следующим образом:

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

Или, если вам необходимо явно вернуть логический тип:

when "boolean(../attrib-type[.=1 or .=2])"
person har07    schedule 27.11.2015
comment
Это отлично подходит для фильтрации list и leaf-list, которые являются type leafref! Спасибо - person Sparrow1029; 08.10.2019