我目前正在为 GUI 和非 GUI 应用程序编写元信息。
为此,我正在广泛学习the official metainfo documentation ,但它在很多地方都不太明确,温和地说(可选性、标签的多重性、排序……;事实上,文档正在使用 <tag/>
来定义实际包含内容 <tag>foobar</tag>
的标签和那些不包含内容的标签't,<tag prop="foobar"/>
,类似)。
由于我计划遵循一种如果验证失败可能会被解析器拒绝的格式,因此我希望拥有解析器使用的 DTD。毕竟,这是 XML,而且我非常确定开发人员选择 XML 正是因为它带有模式规范语言。
但是,我找不到该架构。我尝试通过 appstream-generator
的源代码找到我的方法和appstream-cli
,但我没有成功。
最佳答案
与 IMSoP's hint我开始研究appstream source code 。结果是:
Appstream曾经拥有 XSD。他们删除了它,因为他们已经四年没有维护它了,而且它与文档不同步。
我不能赞扬这个决定,尽管我觉得这是可以理解的,因为维护模式需要时间,并且在单独的验证 CLI 工具中重复可解析模式的工作只会浪费时间。
关于xml-parsing - 免费桌面应用程序流 XML : DTD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62727279/