外部供应商添加违反XSD的属性时该怎么办

时间:2014-09-22 15:03:45

标签: java xml parsing xsd

我们在针对特定XSD解析外部XML时遇到了问题。我们有外部供应商XML feed不断变化(他们向XML添加了更多属性,这些属性未在XSD中定义),破坏了我们的代码。当外部供应商添加更多属性时,我们需要确定避免问题的方式。我们不知道他们何时会添加新字段。 我们还需要我们的XSD来验证属性。任何建议都将受到高度赞赏!

2 个答案:

答案 0 :(得分:0)

理想情况下,您应该让供应商提供针对您的XSD验证的XML,并且他们必须在需要时正式请求添加到XSD。这毕竟是XSD的目的管理此类协议。

如果您无法完成这项工作,并且愿意牺牲这种明确协议的好处,您可以考虑允许您的供应商可以使用这些元素的任何属性&#39似乎一个人待着。 XML Schema有一个支持这个概念的xs:anyAttribute结构。

请注意,您可能希望使用lax的{​​{1}}值来指示如果存在全局属性声明,则应该使用它,否则,可以跳过它而不会使整个文档无效

例如:

processContents

答案 1 :(得分:0)

这更像是一个技术性的商业问题。当一家餐馆供应不良食物时你会怎么做?这取决于你有多饿。在一个理想的世界里,你抱怨,如果他们不解决问题你拒绝支付。但是,如果他们是城里唯一的食物来源,或者如果你不付钱,你可能别无选择,只能吃他们的东西,无论质量如何。

无论您的谈判立场如何,您都需要与他们交谈并解释他们所生产的产品为何不符合您的要求。