微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是xmlns:XSD中的mstns?

xml:mstns在以下xsd-header中表达什么?
<?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被映射到命名空间URI http://tempuri.org/config.xsd;这意味着所有名称以mstns开头的元素和属性(注意冒号)都在该命名空间中.在你的例子中,我们也看到xmlns =“”,它将没有前缀的所有元素(棘手点:不是属性!)映射到空的URI.

显然,你不能使用xmlns本身作为前缀(它是神奇的),实际上所有以xml开始的前缀都是保留的.在模式中使用tns前缀来表示目标名称空间是一个常见的习惯.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。