我目前正在为GUI和非GUI应用程序编写metainfo。
为此,我对官方文件进行了广泛的研究,但它在许多地方并不明确,可以温和地说(可选性、多标记性、排序、…)事实上,文档正在使用<tag/>来定义实际具有<tag>foobar</tag>内容的标记和那些“不具有,<tag prop="foobar"/>一样”的标记。
由于我计划遵循一种格式,如果验证失败,解析器可能会拒绝这种格式,所以我希望使用解析器使用的DTD。毕竟,这是XML,我很确定开发人员选择XML的确切原因是它附带了模式规范语言。
不过,我找不到那个模式。我试图在appstream-generator和appstream-cli的源代码中找到自己的方法,但没有成功。
发布于 2020-07-04 10:19:35
使用IMSoP提示,我开始研究appstream源代码。结果发现:
Appstream以前有一个XSD。他们删除了它,因为他们四年没有维护它,而且它与文档不同步。
我不能赞同这一决定,但我认为这是可以理解的,因为维护一个模式需要时间,并且在一个单独的验证CLI工具中重复可解析模式的工作只会占用时间。
https://stackoverflow.com/questions/62727279
复制相似问题