Yangson主要是采用JSON作为YANG的实例数据,但是也支持XML。
yangson是一款主打以json格式录编YANG实例数据得Python库。
官方的简介在这https://yangson.labs.nic.cz/introduction.html。
使用上,yangson需要设置一个yang libary,用于scheme的生成。
可以使用https://github.com/CZ-NIC/yangson/blob/master/tools/python/mkylib.py来生成yang library所需的json描述文件。这个mkylib.py尚没有包含在pip料包中。
https://yangson.labs.nic.cz/quickstart.html中有些具体的操作,可以在ipython中尝试。
一些使用提示:
- DataModel支持from_file方法,可以从mkylib.py生成的json文件中生成scheme标物。
- 核验实例数据的时候可以指定范围和内容类型
validate(ValidationScope.syntax, ContentType.all)
- 可以在实例标物上使用
add_defaults()
来添加模型中设为默认的数据
对XML录编码的支持
从support XML encoding #20看,已经支持了XML格式的YANG实例数据。
尚没有文档,具体使用上要参考https://github.com/CZ-NIC/yangson/blob/master/tests/test_model.py
from yangson.xmlparser import XMLParser
parser = XMLParser(expected_xml_stripped)
xml_obj2 = parser.root
inst2 = xml_safe_data_model.from_xml(xml_obj2)
其他参考
(完)