module Test {
    yang-version 1;
    namespace http://huawei.com;
    prefix Ant;
    list valid {
        key "define";
        leaf define {
            type string;
        }
        container standard {
            container present {
                leaf-list name {
                    type transmitter;
                }
            }
        }
    }
    container reference {
        list found {
            key "define";
            leaf define {
                type string;
            }
            container reciever {
                leaf remove {
                    type leafref {
                        path "../../../../valid/standard/present/name";
                    }
                }
            }
        }
    }
    typedef transmitter {
        type leafref {
            path "../../../../invalid-interval";
        }
    }
    leaf invalid-interval {
        type enumeration {
            enum 10m;
            enum 100m;
            enum auto;
        }
    }
}
