gpt4 book ai didi

xml - 放置 XSD 的最佳位置

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:49 24 4
gpt4 key购买 nike

我们有一个接收 XML 字符串作为输入的网络服务。该服务所做(或应该做)的第一件事是根据预定义和商定的 XML 架构验证接收到的 XML 字符串。

存储和访问此架构的最佳方式是什么?

  1. 与网络服务位于同一位置的物理 .xsd 文件?
  2. Web 服务代码文件中的常量字符串?
  3. 项目资源文件中的字符串值?
  4. 网络配置中的某处?
  5. 在数据库中?

我不认为选项 (2) 和 (3) 是最好的,因为架构可能会更改,然后我们需要更改代码。话又说回来,如果 XML 结构发生变化,我们无论如何都需要更改代码才能正确解析 XML。

谢谢!

最佳答案

我将仔细检查您的选项并针对每个选项提供一些意见。

1.) A physical .xsd file in the same location as the web service?

这是个好主意,可能是您的最佳选择。给它一个 URI/URL 意味着外部人员可以轻松访问它,而且您可以轻松地对每个 XSD 进行版本控制并为每个 XSD 提供一个新的 URL。

2.) A constant string in the code file of the web service?

这听起来维护起来并不有趣。一般来说,我喜欢将我的界面与我的实现分开,并且我的配置与其他任何东西分开。使用此选项,您可以将这些东西耦合在一起。我不推荐这个。

3.) A string value in a resource file of the project?

4.) Somewhere in the web config?

我不会推荐其中的任何一个,因为你很难将它与项目的其余部分分开。这看起来很尴尬。尽管如此,这并不是一个糟糕的想法。

5.) In a database?

我以前不推荐这个,因为我认为它会弄乱你的 <xsd:include />元素无法指向其他文件,因此将您限制在最简单的模式中,但我是 set straight in this StackOverflow question我在哪里了解到 URI 与 URL 不同。数据库是存储 XML 模式的合法场所,尽管我个人更喜欢将它们存储在文件系统上。

最后,我会说选择选项 1。

关于xml - 放置 XSD 的最佳位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com