代码之家  ›  专栏  ›  技术社区  ›  HAO

在杨语言中,如何从分组中提炼节点的强制属性?

  •  3
  • HAO  · 技术社区  · 7 年前

    1 回复  |  直到 7 年前
        1
  •  3
  •   Community TheSoundDefense    3 年前

    你可以使用 refine 语句指定分组的使用。

    module mandatory-and-grouping {
      namespace "org:example:mandatory-and-grouping";
      prefix "mag";
    
      grouping my-grouping {
        leaf my-leaf {
          type string;
        }
      }
    
      container top {
        uses my-grouping {
          refine my-leaf {
            mandatory true;
          }
        }
      }
    }
    

    7.13.2. “优化”声明

    分组中每个节点的某些属性可以细化 标识分组中的节点。该节点称为优化节点 目标节点。如果分组中的节点不作为目标存在 与分组中的定义完全相同。

    参数字符串是子模式节点标识符(请参见 Section 6.5

    可以进行以下改进:

    • 叶或选择节点可能会获得默认值或新的默认值
    • 优化的默认值替换已给定的默认值。
    • 任何节点都可以获得专门的“描述”字符串。
    • 任何节点都可能得到不同的“config”语句。
    • 叶、anydata、anyxml或choice节点可能会得到不同的
    • 容器节点可能会得到“presence”语句。
    • 获取其他“必须”表达式。
    • 叶列表或列表节点可以获得不同的“最小元素”或 “最大元素”语句。
    • 叶、叶列表、列表、容器、选项、大小写、任意数据或 任何XML节点都可能获得额外的“if-feature”表达式。
    • 如果扩展允许,任何节点都可以获得精确的扩展 精炼看见 Section 7.19

    RFC7950, Section 7.13.2