如何将Yang转换为XML

4
我希望将yang转换为xml格式。 如果已经有可用的工具,请告诉我。
我尝试使用pyang yin格式,提供了xml格式,但不是所需格式。
生成的xml: 例如:
<container name="password">
      <leaf name="enc-type">
        <type name="enumeration">
          <enum name="clear">

所需格式:

<container>
   <enc-type>
    </en-type>
  </container>
4个回答

3

pyang 是可以使用的,我也有这个需求,用 pyang 就足够了。

pyang -f sample-xml-skeleton --sample-xml-skeleton-defaults -o output.xml input.yang

还有关于 pyang 格式的帮助:

$ pyang -h
Usage: pyang [options] [<filename>...]
 
  -f FORMAT, --format=FORMAT
                        Convert to FORMAT.  Supported formats are: yang, yin,
                        dsdl, capability, depend, jsonxsl, jstree, jtox, name,
                        omni, sample-xml-skeleton, tree, uml
 
  Sample-xml-skeleton output specific options:
    --sample-xml-skeleton-doctype=DOCTYPE
                        Type of sample XML document (data or config).
    --sample-xml-skeleton-defaults
                        Insert leafs with defaults values.
    --sample-xml-skeleton-annotations
                        Add annotations as XML comments.
    --sample-xml-skeleton-path=SAMPLE_PATH
                        Subtree to print

1

1

YIN格式是与YANG本身在同一RFC中定义的YANG模型的标准XML表示形式。您应该使用它,而不是任何内部XML格式。

您想要实现的是YIN(具有container元素)和实例文档(enc-type元素对应于leaf名称)的奇怪混合体。我怀疑您的定义是否足够完整,以确保您真正意思是什么,我也怀疑是否有任何现有工具可以直接使用。

我建议坚持使用YIN,或者如果绝对必要,创建自己的工具来完成此操作。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接