为什么xmlns:xsi,而不仅仅是XML文档中的xsi?
我理解,按照惯例,默认名称空间在XML文档的根元素中命名为为什么xmlns:xsi,而不仅仅是XML文档中的xsi?,xml,xml-namespaces,Xml,Xml Namespaces,我理解,按照惯例,默认名称空间在XML文档的根元素中命名为xmlnsattribute。其他名称空间被命名为其他名称。现在,我想知道为什么XML方案实例名称空间总是命名为xmlns:xsi,而不是简单地命名为xsi?xsi是否与xmlns:xsi相同?如果是,为什么是?如果没有,为什么没有 不是来自默认名称空间的元素和属性名称始终以名称空间的名称开头。拥有xmlns:xsi告诉我xsi是在名称空间xmlns中定义的属性,这是冲突的,因为默认名称空间中的属性名称不应在名称空间之前。默认名称空间未命
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“
声明URIhttp://www.w3.org/2001/XMLSchema-instance
在该元素内称为xsi
您可以自由选择任何您喜欢的前缀,您可以声明xmlns:bob=”http://www.w3.org/2001/XMLSchema-instance“
这意味着URIhttp://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
。非常感谢您的澄清。