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

    feature f1;

    container ccc {
        list ll1 {
            anyxml anyxml2;

            leaf-list hostname {
                type string;
            }

            grouping login {
                leaf login { type string; }

                leaf password {
                    type tt1;
                }
            }

            description "test description";
            reference "test reference";

            ordered-by user;

            if-feature f1;

            max-elements 255;

            min-elements 3;

            container ccc;

            container cc {
                leaf cca {
                    type decimal64 {
                        fraction-digits 10;
                    }
                }
            }

            anyxml anyxml1;

            typedef tt1 {
                type string {
                    pattern '[a-zA-Z0-9]+';
                    length "1..256";
                }
            }

            status current;

            grouping gg {
                leaf-list email {
                    type string {
                        pattern '.+@.+\..+';
                    }
                }
            }

            choice abc {
                list ll3 {
                    key abc;
                    if-feature f2;

                    uses login;

                    must "login = 'admin' and password = 'admin123'";

                    unique abb;

                    unique "login password";

                    must "../cc/cca = 10.01236547895";

                    leaf abc { type boolean; }

                    leaf abb { type int8; }
                }

                case case {
                    list ll4 {
                        key "bb";

                        leaf bb {
                            type uint32;
                        }

                        uses gg;

                        uses login;
                    }
                }
            }
            if-feature f2;
            key k;

            leaf k { type int32; }

            list ll2 {
                config false;

                leaf test { type string; }

                when "../cc/cca";
            }
        }
    }

    feature f2 {
        description "Feature f2";
    }
}