xml - 如何在不让收件人更改他/她的模式的情况下向 XML 文档添加字段

标签 xml xsd

我有一个应用程序可以向多个系统发送相同的 XML 文档。现在其中一个系统想要额外获得一个字段。 问题是如何在不中断流程的情况下将字段添加到文档并将其发送到所有系统。在不同的世界,如何让其他系统忽略添加的字段?

最佳答案

除非在设计收件人时考虑到了这种变化,否则您不能在不破坏现有收件人的情况下执行此操作。

对于 XML 系统来说,指定一个“如果你不理解一个元素,就忽略它”的策略是很常见的,如果你有这样的策略,并且人们遵循它,那么添加新的可选字段就变得容易了。但如果没有这样的政策,或者如果它没有经过愤怒的测试,那么添加字段就有破坏的风险。

在架构级别,可以将新字段添加为可选元素或属性。如果扩展是为特定客户或客户组定制的,那么您可能要考虑将额外的元素或属性放入不同的命名空间,这样它们就不会与其他人发明的扩展发生冲突。这还允许您利用 XSD 模式通配符,使任何内容在不同的命名空间中有效。

关于xml - 如何在不让收件人更改他/她的模式的情况下向 XML 文档添加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45550462/

相关文章:

java - mule:xml 模式验证过滤器,其中未执行自定义错误处理程序

java - MarkLogic 从集合中获取数据

c++ - 如何用我的 C++ 项目实现 QuickFix

java - 如何从 xsd 创建 jar 文件

二维矩阵的 xml 表示

xml - XML 中的元素名称和属性名称可以相同吗?

java - JAXB 生成错误的类

java - Android XzingScanner : How to customise ZxingScanner layout ?(添加按钮)

sql-server - 将 XML 导入 SQL Server 数据库

java - 使用 jdom/dom4j 遍历 DOM,无需对命名空间了解太多