XSD 命名空间向后兼容性

标签 xsd namespaces compatibility

我们正在努力解决一些命名空间兼容性问题。目前我们将一些外部数据存储在我们的数据库中作为 XML 文件,命名空间为 xmlns="http://xyz.com/prodresponse/v2" ,最近供应商将命名空间更改为 xmlns="http://xyz.com/prodresponse/v4" .

问题是我们需要为内部应用程序无缝处理新旧命名空间数据。目前我确实只看到一个选项:

  • 运行 SQL 脚本将现有的 xml 数据从版本 v2 转换为 v4。

  • 还有其他选择吗?

    提前谢谢了

    最佳答案

    命名空间发生变化的原因可能是因为格式发生了变化。因此,命名空间对您来说是非常有值(value)的信息,因为它准确地告诉您期望和不期望哪些元素(当与相应的 XSD 模式结合时)。如果您将命名空间更新为新版本,那么根据架构,旧的 XML 数据很可能是不正确的。

    所以不,我认为您不应该更改现有的 XML 数据。保留它,并确保您的解析器知道如何处理这两个命名空间。

    关于XSD 命名空间向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312625/

    相关文章:

    background - CSS 'background-size' 属性 - 跨浏览器解决方案?

    namespaces - 带有过程的 Tcl 中的命名空间变量范围

    xml - 在 xslt 中不带命名空间的条件复制

    python - 设置 xsd :element in the xsd file 的默认值

    java - Spring:根据 XSD 模式验证 REST Controller

    xml - namespace 中名为 'name' 的 XML 元素引用了不同的类型

    .net - 我可以在 4.0 应用程序中引用 .NET 3.5 .DLL 吗?

    android - 识别非官方 Android 设备

    xml - 如何在 xsd :enumeration 中使用任何字符串

    xml - XML Schema 中的集合