杨造型中的叶子内可能有多少叶子?

时间:2016-06-21 07:19:59

标签: datamodel ietf-netmod-yang

根据RFC - RFC 6020 - LeafRef我可以理解,叶子可以包含一个leafref,其中的路径指向被引用的实例,但问题是一个叶子可能有多少个leafrefs?只有一个或多个?

实施例。

leaf mgmt-interface {
         type leafref {
             path "../interface/name";
         }
         type leafref {
             path "../interface/ip";
         }
     }

上述情况可能吗?

1 个答案:

答案 0 :(得分:0)

leafref只能通过leaf定位到单个leaf-listpath节点。叶子可能只有一个type子语句(也适用于leaf-listtypedef),path可能只有一个type子语句。

7.6.2. The leaf's Substatements

+--------------+---------+-------------+
| substatement | section | cardinality |
+--------------+---------+-------------+
| config       | 7.19.1  | 0..1        |
| default      | 7.6.4   | 0..1        |
| description  | 7.19.3  | 0..1        |
| if-feature   | 7.18.2  | 0..n        |
| mandatory    | 7.6.5   | 0..1        |
| must         | 7.5.3   | 0..n        |
| reference    | 7.19.4  | 0..1        |
| status       | 7.19.2  | 0..1        |
| type         | 7.6.3   | 1           | <--
| units        | 7.3.3   | 0..1        |
| when         | 7.19.5  | 0..1        |
+--------------+---------+-------------+

12. YANG ABNF Grammar

type-stmt           = type-keyword sep identifier-ref-arg-str optsep
                     (";" /
                      "{" stmtsep
                          type-body-stmts
                      "}")

type-body-stmts     = numerical-restrictions /
                     decimal64-specification /
                     string-restrictions /
                     enum-specification /
                     leafref-specification /
                     identityref-specification /
                     instance-identifier-specification /
                     bits-specification /
                     union-specification

leafref-specification =
                     ;; these stmts can appear in any order
                     path-stmt stmtsep
                     [require-instance-stmt stmtsep]

path-stmt           = path-keyword sep path-arg-str stmtend

注意:在YANG 1.0中,union类型不能使用leafref。这在YANG 1.1中发生了变化,但任何内置的YANG类型都可能出现在union中。

9.12. The union Built-In Type

  

成员类型可以是任何内置或派生类型,但它必须是   不是内置类型之一&#34;空&#34;或&#34; leafref&#34;。