我从事过具有非常复杂的 XML 配置的项目,面临的一个问题是维护 XML 的内部一致性。
在这种情况下,我指的不是严格的 XML 模式一致性,而是使用的节点之间的更高级别的关系。大多数问题是由以 XML 编码的信息之间的隐式链接以及该信息与代码库的隐式关系引起的。示例可能是:
- XML 节点数据隐式链接到代码中的枚举
- 相同配置中相关的业务对象(因为它们共享需要一致的信息),它们之间没有任何明确的关系
- 要在运行时编译和解析的 XML 中的代码
让我感到震惊的是a)这可能成为一种增加频率的做法,b)在某些情况下,我们隐含地创建了一种新的编码语言,它没有在编译时检查——实际上在它运行之前几乎没有检查。
是否还有其他人面临类似的情况,是否有任何工具或方法可以使问题更容易处理?我想要一些与技术无关的一般示例——我自己的具体经验是使用 C# 和专有系统的配置。
注意:尽管我在下面对此有答案,但我无意将自己的答案作为最终答案。