我对 schemaLocation 和 targetNameSpace 属性有一些疑问。
- 为什么我们使用 schemaLocation 属性?如果两个 URL 被指定为 schemaLocation 的值,这意味着什么?它们指向网络资源吗?
2. targetNameSpace 是否出现在架构中?它的值(value)是否指向任何网络资源?
谢谢!
最佳答案
命名空间是以 URI 形式编写的全局唯一标识符 (GUID)。它们不会引用网络上的资源,除非偶然(有些人喜欢在网络上放一些东西来解释命名空间的含义)。它们只是独特的字符串。以 URI 形式编写它们的主要原因是告诉您谁拥有并管理命名空间。
模式描述词汇表;如果词汇表包含多个命名空间,则每个命名空间都在不同的模式文档中描述。因此,模式文档(即模式的模块)和 namespace 之间存在关系,这由 xs:schema 元素的 targetNamespace 属性指示。
实例文档使用词汇表,该词汇表也可能包含多个命名空间。 schemaLocation 属性描述从命名空间到描述这些命名空间的架构文档位置的映射。如果有两个 URI,一个是命名空间,另一个是描述该命名空间的架构文档的位置。
关于XML schemaLocation 和 targetNameSpace 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10525506/