Blob Blame History Raw
module mod5 {
    prefix abc;
    namespace "urn:cesnet:mod5";

    typedef my {
        type union {
            type my_num {
                range "min..-100 | -50 .. 50 | 100..max";
            }
            type uint8;
            type enumeration {
                enum unknown {
                    value -1000;
                }

                enum zero {
                    value 0;
                }

                enum one;
            }
        }
    }

    typedef my_num {
        type int16 {
            range "-6000 .. 6000";
        }
        default 10;
    }

    container ccc {
        leaf-list test {
            type my;
        }
    }

    leaf-list test {
        type union {
            type my_num {
                range "min..-100 | -50 .. 50 | 100..max";
            }
            type uint8;
            type enumeration {
                enum unknown {
                    value -1000;
                }

                enum zero {
                    value 0;
                }

                enum one;
            }
            type string;
        }
    }

    container bbb {
        presence "enable";

        leaf test {
            type my;
            default 10;
        }
        must "test = '10'";
    }

    container aaa {
        presence "enable";

        leaf test {
            type my;
        }
        must "test = '10'";
    }
}