2017-08-30 32 views

回答

1

在指定分組的用法時,您將使用refine語句。

module mandatory-and-grouping { 
    namespace "org:example:mandatory-and-grouping"; 
    prefix "mag"; 

    grouping my-grouping { 
    leaf my-leaf { 
     type string; 
    } 
    } 

    container top { 
    uses my-grouping { 
     refine my-leaf { 
     mandatory true; 
     } 
    } 
    } 
} 

7.13.2。 「細化」聲明

分組中每個節點的一些屬性可以通過「refine」語句來提煉 。參數是 標識分組中的一個節點的字符串。這個節點被稱爲細化的 目標節點。如果分組中的一個節點不存在作爲「精煉」語句的目標節點,則不會精煉,因此將與其在分組中定義的完全一樣使用 。

參數字符串是後代架構節點標識符(請參閱 Section 6.5)。

下面的改進可以做到:

  • 葉或選擇節點可能會得到一個默認值,或者一個新的默認 值,如果它已經有了一個。

  • 葉節點列表節點可能會得到一組默認值,或者一組新的默認值(如果它已經有默認值的話);即,精確的默認值集合取代了已經給出的默認值。

  • 任何節點都可能獲得專門的「描述」字符串。

  • 任何節點都可能得到一個專用的「引用」字符串。

  • 任何節點可能會得到不同的「config」語句。

  • leaf,anydata,anyxml或choice節點可能會得到不同的 「強制性」語句。

  • 容器節點可能會得到一個「存在」語句。

  • 葉,葉列表,列表,容器,anydata或anyxml節點可能會獲得額外的「必須」表達式。

  • 葉列表或列表節點可能會得到不同的「最小元素」或「最大元素」語句。 anyxml節點可能會獲得額外的「if-feature」表達式。

  • 任何節點都可以得到細化的擴展,如果擴展允許 細化。詳情請參閱Section 7.19

RFC7950, Section 7.13.2