为什么xmlns:xsi,而不仅仅是XML文档中的xsi?

为什么xmlns:xsi,而不仅仅是XML文档中的xsi?,xml,xml-namespaces,Xml,Xml Namespaces,我理解,按照惯例,默认名称空间在XML文档的根元素中命名为xmlnsattribute。其他名称空间被命名为其他名称。现在,我想知道为什么XML方案实例名称空间总是命名为xmlns:xsi,而不是简单地命名为xsi?xsi是否与xmlns:xsi相同?如果是,为什么是?如果没有,为什么没有 不是来自默认名称空间的元素和属性名称始终以名称空间的名称开头。拥有xmlns:xsi告诉我xsi是在名称空间xmlns中定义的属性,这是冲突的,因为默认名称空间中的属性名称不应在名称空间之前。默认名称空间未命

我理解,按照惯例,默认名称空间在XML文档的根元素中命名为
xmlns
attribute。其他名称空间被命名为其他名称。现在,我想知道为什么XML方案实例名称空间总是命名为
xmlns:xsi
,而不是简单地命名为
xsi
xsi
是否与
xmlns:xsi
相同?如果是,为什么是?如果没有,为什么没有


不是来自默认名称空间的元素和属性名称始终以名称空间的名称开头。拥有
xmlns:xsi
告诉我
xsi
是在名称空间
xmlns
中定义的属性,这是冲突的,因为默认名称空间中的属性名称不应在名称空间之前。

默认名称空间未命名
xmlns

xmlns
是声明名称空间前缀(即短名称、句柄)的方法。语法是
xmlns[:prefix]=“namepace uri”

每个XML元素只能有一个名称空间声明,允许您省略前缀(
xmlns=“namespace uri”
),如果以这种方式声明,则称为“默认名称空间”

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
声明URI
http://www.w3.org/2001/XMLSchema-instance
在该元素内称为
xsi

您可以自由选择任何您喜欢的前缀,您可以声明
xmlns:bob=”http://www.w3.org/2001/XMLSchema-instance“
这意味着URI
http://www.w3.org/2001/XMLSchema-instance
在该元素中应称为
bob


按照惯例,许多广泛使用的XML名称空间URI在任何地方都具有相同的前缀,但这不是技术要求。

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
声明URI“”在此元素中应称为
xsi
。”。这是否意味着
xsi
现在是一个名称空间,其元素现在可以在文档中使用?如果是,范围是什么?定义它的元素或整个文档?
xsi
不是名称空间<代码>http://www.w3.org/2001/XMLSchema-instance是名称空间
xsi
只是该名称空间的简称,通常称为“prefix”,因为您将其作为前缀写入要位于关联名称空间中的元素之前。名称空间声明的作用域是它出现在上面的元素和里面的所有东西。是的,这就是我的意思,但没有正确地表达自己。我指的是名称所代表的名称空间,即
xsi
。非常感谢您的澄清。