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

    import mod {
        prefix mod;
    }

    grouping gr {
        typedef my {
            type string {
                pattern '[a-zA-Z\-]+';
                pattern 'host-.*';
                length "8..255";
            }
            description "test";
        }

        leaf l1 { type my; }

        container presence {
            presence "enable";
            container ccc;
        }

    }

    feature f1;

    container ccc {
        uses gr {
            when '../leaf';
            if-feature f2;
            reference "test reference";
            status "current";
            description "test description";

            if-feature f1;
        }
    }

    list list {
        key keys;

        leaf keys { type string; }

        uses gr {
            description "test description";
            reference "test reference";

            refine l1 { description "test"; }

            if-feature f1;

            augment presence {
                container c {
                    description "container ccc";
                }
            }

            refine presence/ccc {
                reference "test reference";
                description "test description";
            }

            augment presence/ccc {
                leaf empty { type empty; }
            }

            if-feature f2;
        }
    }

    uses mod:gr;

    leaf leaf { type int16; }

    feature f2;
}