发布xml模式的标准方式

假设我有一个xml模式,定义了命名空间: http://foo.com/mySchema : http://foo.com/mySchema 。 是否有标准的方式来发布模式,以便模式的xml实例只需要定义命名空间而不是xsi:schemaLocation

例如,如果您查看imdb的站点地图xml:http://www.imdb.com/sitemap_US_index.xml.gz

xml定义了一个名称空间:http://www.sitemaps.org/schemas/sitemap/0.9,但没有定义schemaLocation。

如果你访问这个URI,它有2个xsds:“siteindex.xsd”和“sitemap.xsd”

我的问题是:

  • 这是XML标准的一部分吗? 每个XML解析器会“知道”如何从命名空间URI中找到模式吗?
  • 是否有独立的“xsd回购”工具可帮助我在我的域下发布xsd,而无需自己设置Web服务器。 我正在想象一些具有某种RESTful API的东西,它允许我使用它们的名称空间URIPUT新的模式, DELETE现有的模式以及GET新的模式

  • XML标准并没有为您提供XSD的发布者,并且以明确的方式指定XSD的targetNamespace和XSD的位置之间的绑定。

    没有一个通用的“xsd repo”工具来管理任何知名的存储库,可以在这方面为您提供帮助。 当然,现在有许多选择使用基于云的存储设备(Google Drive,DropBox,Amazon Cloud Drive等)轻松发布任何文件并通过URL公开提供。

    您自行决定要在哪里发布您的XSD。 请记住,名称空间URL不必是可检索的; 没有要求XSD在那里。 同时请记住,命名空间和XSD的物理位置之间的绑定是用户的责任,而不是XSD发布者的责任。 您提到xsi:schemaLocation作为XML文档作者控制下的一种机制,用于指定XSD位置; 另一个是XML目录。

    链接地址: http://www.djcxy.com/p/65713.html

    上一篇: Standard way of publishing xml schemas

    下一篇: Google sitemap namespace confusion