Blob Blame History Raw
module f {
  namespace "urn:f";
  prefix f_mod;

  typedef tdef2 {
    type leafref {
      path "/refleaf";
    }
  }

  grouping grp1 {
    typedef tdef1 {
      type leafref {
        path "/refleaf";
      }
    }
    leaf leaf1 {
      type tdef1;
    }
  }

  uses grp1;

  container cont1 {
    typedef tdef3 {
      type leafref {
        path "/refleaf";
      }
    }
    grouping grp2 {
      typedef tdef4 {
        type leafref {
          path "/refleaf";
        }
      }
      leaf leaf4 {
        type tdef4;
      }
    }

    leaf leaf2 {
      type tdef2;
    }

    list list1 {
      key "key1";
      typedef tdef5 {
        type leafref {
          path "/refleaf";
        }
      }
      leaf key1 {
        type string;
      }

      container cont2 {
        leaf leaf5 {
          type tdef5;
        }

        uses grp2;
      }
    }

    leaf leaf3 {
      type tdef3;
    }
  }

  leaf refleaf {
    type empty;
  }

  rpc rpc1 {
    typedef tdef6 {
      type leafref {
        path "/refleaf";
      }
    }
    input {
      typedef tdef7 {
        type leafref {
          path "/refleaf";
        }
      }
      leaf leaf6 {
        type tdef6;
      }

      leaf leaf7 {
        type tdef7;
      }
    }

    output {
      typedef tdef8 {
        type leafref {
          path "/refleaf";
        }
      }
      leaf leaf8 {
        type tdef8;
      }
    }
  }

  notification notif1 {
    typedef tdef9 {
      type leafref {
        path "/refleaf";
      }
    }
    leaf leaf9 {
      type tdef9;
    }
  }
}