通过正确的XSD版本验证XML

时间:2012-11-15 12:18:21

标签: xml xsd versioning

我们正在处理不同版本的几个XSD和XML文件。我们希望确保可以使用正确的XSD验证xml文件。有办法吗?到目前为止,我得出了这样的结论:

  • 您可以通过在架构的根元素中设置“version”属性来对xsd进行版本控制(简单:))。
  • 要对xml执行相同操作,您可以将其放在注释部分或根elemtn中的属性中(两者都需要在导入时进行预处理,并在导出后进行处理以编写版本) - 非常讨厌;-)

我还要提一下,我们无法确保我们得到的xml对任何XSD都是正确的,因为它可以由第三方传递。

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我会在根元素上放置一个版本号,然后使用XProc管道来控制验证,其中XProc管道根据它在版本号中看到的内容决定要验证哪个架构。

答案 1 :(得分:0)

为了避免预处理,任何解决方案都是这两种解决方案的变体:为每个版本分配唯一的命名空间,或者使用每个版本的不同应用程序端点(例如URL)来使用xml。