1.1. RFC 6020的变化摘要
这个文件定义了YANG
语言的版本1.1。 YANG
版本1.1是YANG
语言的维护版本,解决了原始规范RFC6020中的模糊性和缺陷。
以下更改不能与YANG
版本1向后兼容:
更改了双引号字符串中转义字符解释的规则。这是从
YANG
版本1向后不兼容的变化。当更新YANG
版本1模块为1.1,并且模块使用现在是非法的字符序列时,必须更改字符串以匹配新规则。详情请参见第6.1.3节。没有引号的字符串不能包含任何单引号或双引号字符。这是从
YANG
版本1向后不兼容的变化。当更新YANG
版本1模块为1.1,并且模块使用这样的引号字符时,必须更改字符串以匹配新的规则。详情请参见第6.1.3节。在列表键上使“
when
”和“if-feature
”非法。这是从YANG
版本1向后不兼容的变化。当更新YANG
版本1模块为1.1,并且模块使用这些结构时,必须删除它们以匹配新规则。定义了
YANG
模块中的合法字符。将YANG
版本1模块更新到1.1时,必须删除现在非法的任何字符。详情请参阅第6章。在内置的“字符串”中使非字符非法。此更改会影响基于
YANG
的协议的运行时行为。
对YANG
做了以下更改:
将
YANG
版本从“1”更改为“1.1”。在“1.1”版本中做了“
yang-version
”声明。将“
if-feature
”语法扩展为功能名称上的布尔表达式。允许“比特”(
bit
),“枚举”(enum
)和“身份”(identity
)中包含“if-feature
”。允许“
refine
”中包含“if-feature
”。允许“
choice
”作为简短的“case
”陈述(见第7.9.2节)。在“pattern”语句中添加了一个新的子句“
modifier
”(参见第9.4.6节)。在“
input
”,“output
”和“notification
”中允许包含“must
”。在
leafref
中允许包含“require-instance
”。允许“
import
”和“include
”中包含“描述”(description
)和“引用”(reference
)。允许导入模块的多个修订版本。
允许“
augment
”添加有条件的强制节点(见第7.17节)。在第10节中添加了一组新的XML路径语言(
XPath
)函数。在第6.4.1节中阐述了
XPath
上下文的树。在
XPath
表达式中定义了一个identityref
的字符串值(见9.10节)。允许叶子列表具有默认值(参见第7.7.2节)。
允许非配置叶子列表中的非唯一值(参见7.7节)。
在语法中使用区分大小写的字符串的语法(按RFC7405)。
更改了模块发布机制(参见第5.6.4节)。
更改了子模块中定义的范围规则。子模块现在可以引用所有子模块中的所有定义
添加了一个新的语句“
action
”,用于定义绑定到数据节点的操作。允许通知绑定到数据节点。
增加了一个新的数据定义语句“
anydata
”(见第7.10节),当数据可以在YANG
中建模时,建议使用它来代替“anyxml
”。在
unions
中允许类型“empty
”和“leafref
”。允许在键中键入“
empty
”。删除了标识符不能以字符“xml”开头的限制。
对NETCONF
映射进行了以下更改:
- 服务器通过使用
ietf-yang-library
RFC7895来发布对YANG 1.1
模块的支持,而不是将它们列为<hello>
消息中的能力。