【问题标题】:Import XSD for http://www.w3.org/2001/XMLSchema namespace?为 http://www.w3.org/2001/XMLSchema 命名空间导入 XSD?
【发布时间】:2015-04-17 23:41:49
【问题描述】:

当引用另一个 XSD 中的定义时,我们对位于不同命名空间中的另一个 XSD 使用“import”,对位于同一命名空间中的另一个 XSD 使用“include”。

也就是说,我们不需要在使用之前导入xmlns:xsd="http://www.w3.org/2001/XMLSchema。为什么?我想知道 XSD 模式是如何提供给应用程序的——哪个文件包含这个 XSD?是因为它已经在应用程序的类路径中了吗?

同样,我想知道我们是否需要导入或包含我们创建的其他模式是否会在应用程序的类路径中?

【问题讨论】:

    标签: xml xsd namespaces


    【解决方案1】:

    xmlns:xsd="http://www.w3.org/2001/XMLSchema 命名空间声明xsd 命名空间前缀http://www.w3.org/2001/XMLSchema相关联命名空间 URI。这个特殊的命名空间定义了 XML Schema 中使用的词汇;它与通过xsd:importxsd:include 引入的用户XSD 无关。

    相关:有一个XML Schema schema v1.0(或v1.1),可以用来验证XSD,但是XSD处理器可以有自己的验证方法,不一定要读入XML Schema 架构。

    也相关xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 声明将 xsihttp://www.w3.org/2001/XMLSchema-instance 命名空间相关联,并用于 XML 规范定义的多个属性:xsi:typexsi:nilxsi:schemaLocationxsi:noNamespaceSchemaLocation

    这些都不需要用户导入或包含。

    是的,XSD 必须显式导入或包含所有其他包含所需组件的 XSD;不会自动导入或包含与任何类型的类路径关联的这些 XSD。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 2013-06-10
      • 2012-12-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      相关资源
      最近更新 更多