我一直在努力寻找一些可以从java中的yang模型生成示例xml/json数据的工具,例如对于xsd,有一些工具可以生成示例xml。
我试过平:1。它是用Python编写的。2.转换后,它给了我yin格式,这是相当于yang规范的xml。例如,对于以下阳代码,如果我使用pyang将其转换为阴:
leaf templateSendPeriod {
when "../exportProtocol!='netflow-v5'";
type uint16;
default 60;
units seconds;
}
这就是我得到的-
<leaf name="templateSendPeriod">
<when condition="../exportProtocol!='netflow-v5'"/>
<type name="uint16"/>
<default value="60"/>
<units name="seconds"/>
</leaf>
相反,我想要的是
<templateSendPeriod></templateSendPeriod>
这样我就可以得到xml,输入详细信息并根据相同的数据进行验证。
您可以这样做,首先声明您的模型
// module name
module napalm-star-wars {
// boilerplate
yang-version "1";
namespace "https://napalm-yang.readthedocs.io/napalm-star-wars";
prefix "napalm-star-wars";
// identity to unequivocally identify the faction an individual belongs to
identity AFFILIATION {
description "To which group someone belongs to";
}
identity EMPIRE {
base AFFILIATION;
description "Affiliated to the empire";
}
identity REBEL_ALLIANCE {
base AFFILIATION;
description "Affiliated to the rebel alliance";
}
// new type to enforce correctness of the data
typedef age {
type uint16 {
range 1..2000;
}
}
// this grouping will all the personal data we will assign to individuals
grouping personal-data {
leaf name {
type string;
}
leaf age {
type age;
}
leaf affiliation {
type identityref {
base napalm-star-wars:AFFILIATION;
}
}
}
// this is the root object defined by the model
container universe {
list individual {
// identify each individual by using the name as key
key "name";
// each individual will have the elements defined in the grouping
uses personal-data;
}
}
}
是否对模型进行树表示
$ pyang -f tree napalm-star-wars.yang
module: napalm-star-wars
+--rw roster
+--rw individual* [name]
+--rw name string
+--rw age? age
+--rw affiliation? identityref
稍后在python代码中使用:
>>> import napalm_star_wars
>>>
>>> sw = napalm_star_wars.napalm_star_wars()
>>>
>>> obi = sw.universe.individual.add("Obi-Wan Kenobi")
>>> obi.affiliation = "REBEL_ALLIANCE"
>>> obi.age = 57
>>>
>>> luke = sw.universe.individual.add("Luke Skywalker")
>>> luke.affiliation = "REBEL_ALLIANCE"
>>> luke.age = 19
在这里,您可以根据自己的选择获得json或xml的答案。
import json
>>> print(json.dumps(sw.get(), indent=4))
问题内容: 我们正在使用Oracle 11数据库和Java开发环境(使用Eclipse),并且希望将多个xml模式迁移到SQL模式。 已经看过xsd了,但是确实需要一些可以在不安装SQL Server的情况下从ant / Eclipse运行的功能。 问候, 安迪 问题答案: 另一个选择是使用JAXB生成Java对象,并使用Hibernate创建基于类层次结构的架构。 话虽如此,这取决于您要尝试做的
问题内容: 有人知道如何从现有的XML模式(XSD文件)生成JSON模式吗?有没有可用的工具? 问题答案: 免责声明 :我是Jsonix的作者,Jsonix是一个功能强大的开源XML <-> JSON JavaScript映射库。 今天,我发布了具有新JSON Schema生成功能的新版本的Jsonix Schema Compiler 。 让我们以采购订单模式为例。这是一个片段: 您可以使用提供的
问题内容: 我想知道是否有一种方法可以在我拥有数据和标签的情况下自动从XSD架构生成XML文件。我想在python / java中做到这一点。似乎很有可能,但是我找不到任何允许我执行此操作的库。我正在寻找一个相当快速的解决方案。 问题答案: 查看适用于与JAXB相似的Python工具的pyXSD。 XSD用于创建Python类。Python对象用于发出XML。
我目前正在进行一个项目,该项目需要使用QVTO将一个模型转换为另一个模型。源模型是以表格形式表示的状态机。目标模型也是具有节点和边的statemachine。源模型只有领域元模型,但目标模型同时具有领域和符号元模型。符号元模型是http://www.eclipse.org/gmf/runtime/1.0.2/notation。我从源域模型转换到目标域模型,但是我的目标模型没有表示法模型。我想做的是
我正在尝试根据本指南使用OpenDaylight从Yang文件生成Pojos。我从OpenDaylight github克隆了Yang tools,并使用构建了项目 我在pom中添加了以下内容: 但是我无法生成源。我收到以下错误: 我做错了什么?
我正在尝试使用eclipse gmf创建一个基于uml模型的图形编辑器, 为此,我基于我的uml模型创建了一个.gnemodel文件,但在生成的.ecore文件中没有关联