我正在尝试编写一个YANG文件来捕获XML模式。我想建模如下的XML。
`<stream>
<filter>
<type>inbuilt</type>
<attribute>a1</attribute>
<attribute>a2</attribute>
</filter>
<variables>anything</variables>
</stream>
`
我想要&#39;过滤器&#39;元素及其子元素及其在生成的所有XML中的值。值应该是常量。目前的YANG建模是否可能?我尝试了解YANG规范,但我永远找不到常量的关键字。
答案 0 :(得分:0)
如果我理解正确,XML代码段中的值永远不会发生变化?以下内容将使您的XML片段成为唯一有效的实例(如果我们忽略了variables
可以是任何事实的事实):
container stream {
container filter {
leaf type {
type enumeration {
enum "inbuilt";
}
mandatory true;
}
leaf-list attribute {
type enumeration {
enum "a1";
enum "a2";
}
min-elements 2;
}
}
leaf variables {
type string;
}
}
enumeration
数据类型可用于要求常量字符串值。在我的示例中,inbuilt
将是type
leaf的唯一有效值。 mandatory
和min-elements
语句用于约束实例并强制它始终包含type
和两个attribute
实例。
如果您需要重复使用此模式,请将其放在grouping
语句中,并使用uses
语句引用它。