0

wibble次のスキーマでリーフにデフォルト値を割り当てられないのはなぜですか"-"(スキーマにないコメント、わかりやすくするために投稿に追加)

module type
{
    namespace "example.com";
    prefix "foo";
    
    typedef optional-value {
        type  union {
            type uint8 {
                range "0 .. 99";
            }
            
            type string {
                pattern "^-$";
            }
        }
    }
    
    container bar {
        leaf wibble {
            type optional-value;
            default "-"; ### NOT OKAY
        }
        
        leaf wobble {
            type optional-value;
            default 42;  ### OKAY
        }
    }
}

yanglint (バージョン 0.16.105) は上記のスキーマを検証せず、次のエラー メッセージを返します。

err : Invalid value "-" in "wibble" element. (/type:wibble)
err : Module "type" parsing failed.

さらに実験を行ったところ、パターンを持つ文字列にデフォルト値を割り当てることができないようです

module tmp
{
    namespace "example.com";
    prefix "foo";
    
    container bar {
        leaf wibble {
            type string {
                pattern "^x$";
            }
            default "x";    ### NOT OKAY
        }
        
        leaf wobble {
            type string;
            default "y";    ### OKAY
        }
    }
}

ヤンリン出力:

err : Value "x" does not satisfy the constraint "^x$" (range, length, or pattern). (/tmp:wibble)
err : Module "tmp" parsing failed.
4

1 に答える 1