发布xml模式的标准方法

发布xml模式的标准方法,xml,namespaces,xsd,Xml,Namespaces,Xsd,假设我有一个xmlschema,定义名称空间:http://foo.com/mySchema。是否有一种标准的方式来发布模式,以便模式的xml实例只需要定义名称空间,而不需要定义xsi:schemaLocation 例如,如果您查看imdb的站点地图xml: xml定义了一个名称空间:不定义schemaLocation 如果您访问这个URI,它有两个xsd:“siteindex.xsd”和“sitemap.xsd” 我的问题是: 这是xml标准的一部分吗?每个xml解析器都“知道”如何从名称空间

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

例如,如果您查看imdb的站点地图xml:

xml定义了一个名称空间:不定义schemaLocation

如果您访问这个URI,它有两个xsd:“siteindex.xsd”和“sitemap.xsd”

我的问题是:

  • 这是xml标准的一部分吗?每个xml解析器都“知道”如何从名称空间URI中找到模式吗
  • 有没有一个独立的“xsd repo”工具可以帮助我在自己的域下发布xsd,而不用自己设置web服务器。我正在想象一种带有RESTful API的东西,它允许我
    放置
    新模式,
    删除
    现有模式,当然还有
    获取
    新模式,使用它们的名称空间
    URI

  • 作为XSD的发布者,XML标准没有为您提供一种明确的方式来指定XSD的
    targetNamespace
    和XSD位置之间的绑定

    在这方面,没有通用的“xsd回购”工具可以管理任何种类的知名存储库来帮助您。当然,现在有很多选择使用基于云的存储设施(Google Drive、DropBox、Amazon cloud Drive等)轻松发布任何文件并通过URL公开

    关于在何处发布XSD,您可以自行决定。记住,;这里不需要XSD。还要记住,命名空间和XSD物理位置之间的绑定是用户的责任,而不是XSD发布者的责任。您提到
    xsi:schemaLocation
    是XML文档作者控制下的一种机制,用于指定XSD位置;另一个是