2

我对 schemaLocation 和 targetNameSpace 属性有一些疑问。

  1. 为什么我们使用 schemaLocation 属性?如果两个 URL 被指定为 schemaLocation 的值,这意味着什么?他们指向网络资源吗?

2. targetNameSpace 是否出现在架构中?它的价值是否指向任何网络资源?

谢谢!

4

1 回答 1

2

命名空间是以 URI 的形式编写的全局唯一标识符 (GUID)。它们不引用网络上的资源,除非是偶然的(有些人喜欢在网络上放一些东西来解释命名空间的含义)。它们只是唯一的字符串。以 URI 的形式编写它们的主要原因是告诉您谁拥有和管理名称空间。

模式描述了一个词汇;如果词汇表包含多个名称空间,则每个名称空间都在不同的模式文档中进行描述。因此,模式文档(即模式的模块)和名称空间之间存在关系,这由 xs:schema 元素的 targetNamespace 属性指示。

实例文档使用一个词汇表,该词汇表也可能包含多个名称空间。schemaLocation 属性描述了从命名空间到描述这些命名空间的架构文档位置的映射。如果有两个 URI,一个是命名空间,另一个是描述该命名空间的模式文档的位置。

于 2012-05-10T08:49:39.497 回答