为了验证而不是我们的XML,构建自己的XML Schema是个好主意吗?

时间:2014-01-28 21:01:45

标签: xml xsd

我们正在开发价格比较服务。我们从50多家商店导入了大量数据。每个商店通常使用不同的XML格式来描述他们的报价。

不幸的是,有时某个特定的商店会忘记通知我们有关XML引入的更改。这当然会导致问题,甚至更糟......有时特定的商店会引入XML中的新字段(我们要求)并忘记通知我们它已准备就绪。

从每个商店构建我们自己的XML XML Schema是一个好主意,并在每次更新期间针对XML Schema验证这些XML吗?

1 个答案:

答案 0 :(得分:1)

需要明确的是:您要求编写50多个(可能是100个)XML Schema来控制从各个商店获得的XML数据,对吗?

你说得对(即限制XML内容)是XML Schema天生擅长的。它只是XML Schema

  • 是冗长的,可能需要一些时间才能获得正确的细节(例如,指定元素可以出现的次数或允许哪些特定字符串作为内容)。此外,维护可能是艰苦的。
  • 主要用于固定XML格式 - 这就是您首先编写Schema的原因。在我看来,每4至6周定期更改的XML结构(正如您在帖子中所述)是相当动态的。

此外,如果您的XML数据经历了结构变化,那么显然还不足以改变Schema。它也是每四周需要引起注意的新XML结构的处理 - 百倍的企业。


总而言之,不,这是一个坏主意,因为更改频率和您处理的各种XML格式的数量。让商店标准化他们发送给你的XML内容可能是一个官僚主义的噩梦 - 但与处理不断变化和不可预测的XML结构相比,这不是一场噩梦。

说完这一切之后,让我再添一个关键因素:XML文档的大小。假设您正在处理大型XML文件,我已经写了这个答案。但是,如果XML文件包含每个3个元素,那么Schema方法将再次变得更加可行。