【问题标题】:What are the best practices for storing XML Schemas? [closed]存储 XML 模式的最佳实践是什么? [关闭]
【发布时间】:2020-03-08 19:03:15
【问题描述】:

我目前正在编写各种 XML 模式。就自己编写模式而言,我很好。我已经对此进行了广泛的研究,但是在查找 IT 方面的相关信息时遇到了一些困难。也许我只是使用了错误的关键字,所以如果这是重复的,我很抱歉。我自己确实付出了很大的努力来找到这些信息。提前感谢您抽出时间来帮助我。

如果存储在服务器端,我希望这些架构位于 http://schemas.mycompany.com/SchemaName。似乎根本不需要为模式子域设置单独的域控制器或类似的东西。如果我没记错的话,主域 DC 上的 OU 应该是令人满意的。然后我只需将它们放在单独的 Web 服务器上用于模式。

我在个人研究中也注意到它们也可以存储在本地。 How to reference a local XML Schema File Correctly.

既然我已经充分介绍了背景信息,那么就来回答这个问题。哪个更好,在什么情况下?什么时候将模式存储在服务器上而不是将它们存储在本地?更明确地说,这里每个场景的最佳实践和优缺点是什么?

【问题讨论】:

  • 命名空间不必是 URL,如果是,它们也不必是可取消引用的。
  • 是的,我知道类似:file:///C:/environment/workspace/maven-ws/ProjextXmlSchema/email.xsd 可以在本地工作。我想知道什么时候将这些存储在本地和服务器上比较合适。模式已经在 .dll 中,因此将它们保留在那里似乎是有意义的,但我想对此更加确定。 “它们不必是可取消引用的”是什么意思?
  • 您不需要将架构托管在 http://schemas.mycompany.com/SchemaName。该 URL 不需要存在,它只是一个(不透明的)标识符。
  • 啊,我明白你现在的意思了,谢谢你的澄清。因此,将其存储在本地 Project.Core.IO.dll 似乎不太可能导致任何问题。我是这么认为的,因为只要我使用 file:/// 方法在本地适当地引用它,它就会有带有架构的库。我认为像 W3 这样的场景将更适合托管它。如果我错了,我的意思是纠正我,但这看起来确实很合理。我现在对此感觉好多了,再次感谢您。

标签: xml xsd xml-namespaces xsd-validation xml-validation


【解决方案1】:

通过在目标受众可以访问(最好是易于发现)的位置提供 XSD,可以促进 XSD 的传播。使用命名空间的 URL 并在其中直接或通过文档链接存储关联的 XSD 是使 XSD 可用并能够被找到的合理方法。

与上述问题不同的是给定用户群将在何处以及如何访问 XSD。通常最好将发布/传播与操作访问分开,XML Catalogs 提供了一种灵活的机制来指定 XSD 引用和首选物理位置之间的间接级别,例如 XSD 的本地缓存副本。

另请参阅:

【讨论】:

  • 谢谢你的链接特别有用,这就是我要找的。您添加的标签还为我提供了我所缺少的关键字。
猜你喜欢
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
相关资源
最近更新 更多