我有 2 个版本的 XSD 文件,我想看看它们之间做了哪些更改。不幸的是,发布者选择完全重写 XSD,更改元素、属性、命名空间前缀等的顺序。是否有工具(命令行或 GUI)可以将它们转换为我可以使用的规范化形式然后比较文本(例如在 Beyond Compare 中)?
最佳答案
QTAssistant (我与之相关)能够将 XSD 文件转换为遵循另一个 XSD 文件的结构(称为"template"),或者将 XSD 转换为“正常”形式(专有,仅仅是因为我们'不知道任何标准格式)。
此功能作为 XML 模式重构 (XSR) 项目的一部分提供,它实际上是一种收集有关 XSD 文件的元数据并定义模型(使用模式语言定义)如何转换为另一个模型的方法,可以使用 XSD 或 JSON 模式等来表达。
您也可以不进行任何转换,因为 QTAssistant 支持 XSD-aware compare开箱即用;在我看来,这种类型的比较比任何类型的文本比较都强大得多。
关于xml - 规范化/规范化 XSD 模式模式以进行文本比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28883207/