下面的xsd-header中的xml:mstns表示什么?
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="config"
targetNamespace="http:/tempuri.org/config.xsd"
elementFormDefault="qualified"
xmlns=""
xmlns:mstns="http://tempuri.org/config.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="config">
...
这是一个 XML 命名空间声明。
XML 命名空间实际上是由 URI 定义的,因此限定名称由命名空间(任意 URI)和本地名称(遵循 NCName 规则的短简单字符串)组成。但是,不能每次都完整写出,因此命名空间通过命名空间声明映射到前缀,该声明始终采用以xmlns
并为包含它的元素及其所有子元素定义该前缀。
我们以您的案例为例。
我们有一个属性xmlns:mstns="http://tempuri.org/config.xsd"
,这只是说前缀mstns
映射到命名空间 URIhttp://tempuri.org/config.xsd
;这意味着名称以以下开头的所有元素和属性mstns:
(注意冒号)位于该名称空间中。在你的例子中我们还看到xmlns=""
,它将没有前缀的所有元素(棘手的一点:不是属性!)映射到空 URI。
显然,你不能使用xmlns
本身作为前缀(这很神奇),事实上所有以xml
被保留。有一个共同的习惯,就是使用tns
模式中的前缀指示目标名称空间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)