module food {

    yang-version 1;

    namespace "yrt:food";

    prefix "foodType";

    organization "ON-LAB";

    description "This module defines for food.";

    revision "2016-06-24" {
        description "Initial revision.";
    }

    container food {
       choice snack {
           case sportsarena {

               leaf pretzel {
                   type empty;
               }

               choice bear {
                    case type {
                        leaf kingfisher {
                            type empty;
                        }

                        leaf redbull {
                            type empty;
                        }
                    }
               }
           }
           case latenight {
               leaf chocolate {
                   type enumeration {
                       enum dark;
                       enum milk;
                       enum first-available;
                   }
               }
           }
       }
    }

    leaf bool {
        type boolean;
    }

    leaf-list boolean {
        type boolean;
    }
}