我有 20,000 行+ ACORD(保险业的标准架构)架构。我想“精简”或“切片”模式以仅包含我们将在事务中使用的那些数据元素。虽然我当然可以手动完成,但这是一个艰苦的过程。
有没有人使用实用程序来促进这些子模式的定义?非常感谢您的帮助。
QTAssistant(我与它相关联) XML Schema Refactoring (XSR) 是一个可以很容易做到这一点的工具。
从概念上讲,它涉及两个工作模块:
支持交互式(使用图形用户界面)和命令行,后者用于持续集成堆栈等。
假设您想要只发布 UserAuthRequest/Response 和所有其他依赖项。示例设置如下所示;主要内容是:
然后,您可以通过注入序列、排除、重命名、重新键入、XML 命名空间“重定向”等来进一步定制内容模型——我们称之为“重构”。单击引用,然后展开局部排除(如果您想摆脱粒子等)。完成后,单击生成- 就完成了。
然后可以将保存的 XSR 文件作为参数传递给命令行实用程序,以从标签生成相同的文件,并将生成的文件重新签入,传递给 xsd.exe 或 xjc
从统计数据可以看出,从 4633 个元素、1123 个复杂类型和 589 个简单类型中,剩下 40 个元素、14 个复杂类型和 6 个简单类型。
通过选择所需的特定组件,您可以根据需要在输出文件中添加/调整;重构引擎将自动引入所有依赖项。
默认情况下,生成的文件是排序的:简单类型、复杂类型、元素。您可以通过指向“模型文件”来覆盖它并保持“原始”布局 - 可以是原始 XSD 或任何其他文件。当人们出于任何合规原因想要依赖“愚蠢的”文本/xml比较工具时,这会派上用场。
额外的东西包括显示 XSD 组件之间关系的视图......
或者,在“可推断”的情况下,XSD 的关系视图(在 .NET 上称为 DataSet):