我从事过具有非常复杂的 XML 配置的项目,并且面临的一个问题是维护 XML 的内部一致性。
在这种情况下,我指的不是严格的 XML 模式一致性,而是所用节点之间更高级别的关系。大多数问题是由 XML 中编码的信息之间的隐式链接以及该信息与代码库的隐式关系引起的。示例可能是:
- XML 节点数据隐式链接到代码中的枚举
- 相同配置中的相关业务对象(因为它们共享需要保持一致的信息),它们之间没有任何明确的关系
- 要在运行时编译和解析的 XML 代码
令我震惊的是 a) 这可能会成为一种增加频率的做法,并且 b) 在某些情况下,我们正在隐式地创建一种新的编码语言,这种语言未经编译时检查——实际上几乎没有检查,直到它运行了。
有没有其他人面临类似的情况,是否有任何工具或方法可以使问题更容易处理?我想要一些与技术无关的一般示例——我自己的具体经验是使用 C# 和专有系统的配置。
注意:虽然我在下面有一个答案,但我无意将我自己的答案作为最终答案。
最佳答案
这在很大程度上取决于您在项目中使用的语言/框架/工具。
使用 XML 进行配置确实存在问题,因为它无法在编译时检查。
例如,当使用 Java 和 Spring Framework 时, 存在一个名为 Spring Tool Suite 的 Eclipse 插件它可以在 XML 配置和实际代码之间进行同步检查。
但这只是特定语言和特定框架的一个示例。您应该尝试找出您的场景是否存在类似的东西。
顺便说一句,如果您让我们知道您使用的是什么技术,我们也许可以为您提供更多帮助。
关于xml - 用于检查 XML 配置文件内部一致性的工具、规则或过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4396573/