取余运算的模型(%)

Yang model for remainder operation (%)

我想创建一些整数范围的阳模型,例如从 1000 到最大值,并且必须以 500 为步长输入值。有什么方法可以在阳或范围中使用余数(模数)% 运算符功能类似于 python 的步骤。

或者我只需要将模式与一些正则表达式结合使用。

使用 must 约束进一步约束已经用 range.

约束的整数类型值
module modulus {
    yang-version 1.1;
    namespace "org:so:modulus";
    prefix "som";

    leaf value {
        type int32 {            
            range "1000..max";
        }
        must ". mod 500 = 0" {
            error-message "values must be entered in steps of 500";
        }
    }
}

XPath 规范提供了 mod 运算符。

<?xml version="1.0" encoding="utf-8"?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <som:value xmlns:som="org:so:modulus">1501</som:value>
</data>

结果:

    Error at (3:3): failed assert at "/nc:data/som:value": values must be entered in steps of 500

同时

<?xml version="1.0" encoding="utf-8"?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <som:value xmlns:som="org:so:modulus">2000</som:value>
</data>

没问题。