5.1.2. 模块层次结构
YANG
允许在多个层次结构中对数据进行建模,其中数据可能有多个顶级节点。模块中的每个顶级数据节点定义一个单独的层次结构。具有多个顶级节点的模型有时很方便,并且得到了YANG
的支持。
5.1.2.1. NETCONF
XML
编码
NETCONF
能够在<config>
和<data>
元素中携带任何XML
内容作为有效载荷。 YANG
模块的顶层节点在这些元素内以任何顺序编码为子元素。 这种封装保证了相应的NETCONF
消息总是格式良好的XML
文档。
例如,一个实例:
module example-config {
yang-version 1.1;
namespace "urn:example:config";
prefix "co";
container system { ... }
container routing { ... }
}
在NETCONF中编码为:
<rpc message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<running/>
</target>
<config>
<system xmlns="urn:example:config">
<!-- system data here -->
</system>
<routing xmlns="urn:example:config">
<!-- routing data here -->
</routing>
</config>
</edit-config>
</rpc>