我有这个简单的杨模型
leaf type {
type string;
description "some description";
}
这不起作用。有人可以解释字符串'type'是否对yang中的叶子名称无效吗?
答案 0 :(得分:0)
leaf
语句自变量必须是标识符,并且没有限制,禁止在期望使用标识符的地方使用YANG关键字(所有内置关键字也是标识符)。 leaf type {...}
和leaf leaf {...}
都是有效的YANG语句。
“ leaf”语句用于在模式中定义叶节点 树。它采用一个参数,它是一个标识符,后跟一个 子语句块,其中包含详细的叶子信息。
这是规范中关于标识符的内容:
标识符用于通过以下方式识别不同种类的YANG项目 名称。每个标识符以大写或小写ASCII开头 字母或下划线字符,后跟零个或多个ASCII 字母,数字,下划线字符,连字符和点。 实施中必须支持最多64个字符的标识符 长度,并且可以支持更长的标识符。标识符是大小写 敏感。标识符语法由规则正式定义 第14节中的“标识符”。标识符可以指定为引号 或未加引号的字符串。
上述语法规则:
identifier = (ALPHA / "_")
*(ALPHA / DIGIT / "_" / "-" / ".")
这是关于leaf
语句的命名空间的说明(命名空间在其范围内强加了唯一的名称要求,目的是防止名称冲突):
o所有叶子,叶子列表,列表,容器,选择,RPC,操作, 通知,任何数据和任何xml定义(直接或通过 父节点内或顶层的“使用”语句) 模块或其子模块共享相同的标识符名称空间。 该名称空间的作用域是父节点或模块,除非 父节点是案例节点。在这种情况下,命名空间是作用域的 到不是案例或选择节点的最接近的祖先节点。
答案 1 :(得分:0)
叶子的类型字符串有效。你能分享你完整的杨吗?我将帮助您查找错误原因。