【发布时间】:2013-08-27 21:34:11
【问题描述】:
页面w3schools给出 以下作为模式声明的一种形式。
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
...
...
</xs:schema>
这里,
targetNamespace 定义了 XML 文档的命名空间 已定义——在“this”XSD 中定义的 XML 文档中可以使用哪些标签(元素)和哪些属性。
xmlns=http://www.w3schools.com/schema/schema_schema.asp
另一方面,为 XML 文档中的名称定义默认命名空间 -- 那些没有被定义的名字 在 "this" XSD(?) 上,解析器首先查找在 targetNamespace 中声明的命名空间。如果在其中找不到名称,请继续尝试下一个 xmlns (?)
如果我跳过上面架构声明中的 targetNamespace 属性,我会错过什么?虽然我有 xmlns,但 targetNamespace 对我来说是多余的,因为它们指的是同一个命名空间。
什么 我失踪了吗?
注意:我在其他一些讨论中看到过What does "xmlns" in XML mean?。
【问题讨论】:
标签: xml xsd xml-namespaces