XML schemaLocation 和 targetNameSpace 属性

标签 xml

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

  1. 为什么我们使用 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/

相关文章:

xml - 如何在 Vue Js 中嵌入 XML RSS 文件?

c# - .NET锁定IO代码

java - org.xml.sax.SAXParseException;找不到元素'beans :beans 的声明

python - lxml:元素上的 XPath 和命名空间

java - 从 Java DOM 中的 XML 获取元素名称

android - 如果我扩展 Activity,ImageView 保持为空,但如果我扩展 AppCompatActivity,则按预期工作

java - 计算器应用程序的定制键盘

java - JAXB:我可以将 XmlAttribute 的参数 "required=true"设置为默认值吗?

java - Android 应用程序崩溃,这是代码

java - 使用 SAX 解析器保留 CDATA 格式