发布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”
我的问题是:
URI
来PUT
新的模式, 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目录。