事情是这样的:我不希望(还)通过 libvirt 在 vm 中执行某些操作。
我想要做的是采用 libvirt Relaxng 模式并从中获取 java 类。这样我可以生成一个代表虚拟机的 xml 配置文件。稍后,该文件将用于将机器注册到管理程序的操作中,以便能够(例如)打开它的电源。
所以,我最初的想法是将松弛模式转换为 xsd。尝试了放松器和 trang,这并没有真正起作用。
有什么好的选择吗?
我在 libvirt git 存储库中查找了 basictypes.rng 模式的当前版本,并使用在线 validator.nu Web 服务(在后端使用 Jing)针对该模式验证随机 XML 文档。这产生了“缺少起始元素”。错误,根据 RELAX NG 教程,这是<grammar/>
. 所以看起来至少这个特定模式的这个特定版本是无效的 RELAX NG。
<grammar/>
:<start/>
http: //relaxng.org/tutorial-20011203.html#IDAETYRJDK 中包含的 JAXB XJC 工具包括一些对松弛模式的实验性支持。你可以试试:
xjc -relaxng yourSchema
或者
xjc -relaxng-compact yourSchema