杨被用作Xml还是Json



我只想知道yang建模语言是特定的,只能与NetConf协议一起使用,还是可以用于对Xml和Json等数据进行建模?

谢谢

YANG最初旨在对NETCONF会话中对等端之间交换的数据进行建模,但这不再是唯一的情况。现在还有其他协议(将)使用它,如RESTCONF和CoMI。

YANG是一种数据建模语言,最初设计用于建模由网络配置操纵的配置和状态数据协议(NETCONF)、NETCONF远程过程调用和NETCONF通知[RFC6241]。YANG第1版出版以来[RFC6020],YANG已用于或拟用于其他协议(例如RESTCONF[RESTCONF]和受限应用程序协议(CoAP)管理接口(CoMI)[CoMI])。进一步的已经提出了除了XML之外的编码(例如JSON[RFC7951])。

RFC7950,第1节

事实上,最近新发布的YANG规范(1.1)已经朝着将模型与其编码解耦的方向发展。在未来,我们可能会看到单独的XML和JSON编码文档(可能还有其他文档),以及只处理语言细节的单个文档。

如果忽略rpcactionnotificationconfig等语句,则可以使用YANG为其他更通用的目的对数据进行建模。这些语句仅在特定上下文中相关。当然,您必须定义您希望在其中使用模型的上下文,以及它对您意味着什么。一些建模人员使用extension语句来定义这些需求,然后实现一个专门的YANG编译器,该编译器可以识别扩展并相应地执行操作——这允许您将该语言用于作者最初不打算使用的东西。

规范中有一些定义可能会使YANG更难成为通用建模语言(就像XMLSchema用于XML一样)。configuration datastoreconfiguration datastate dataclientserver等概念都非常具体。然而,你总是可以对这些视而不见,让它为你工作。我相信OpenDaylight项目已经做到了这一点。

最新更新