XSD 中的 xmlns:mstns 是什么?

2024-04-26

下面的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(使用前将#替换为@)

XSD 中的 xmlns:mstns 是什么? 的相关文章

随机推荐