xml - 用于检查 XML 配置文件内部一致性的工具、规则或过程

标签 xml configuration referential-integrity data-integrity consistency

我从事过具有非常复杂的 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/

相关文章:

xml - 从 mulesoft 中的 xml 列表中提取特定的 xml 节点

java - 我可以使用 JSON 在以不同编程语言实现的进程之间进行通信吗?

java - Android Studio Tab View 灰色主题颜色

html - 开始和结束标签之间的文本术语?

configuration - Maven 中的用户和项目特定设置

ddl - 维护引用完整性

mysql禁用参照完整性

python - 我正在尝试在 notepad++ 中设置 python,但它无法理解我的文件路径中包含空格

ios - 无法在 Visual Studio 2013 for Xamarin Projects 中从 iPhone 切换到 iPhoneSimulator

mysql - 删除限制 mysql 不工作