Xml 具有来自两个名称空间的同名属性的元素

Xml 具有来自两个名称空间的同名属性的元素,xml,xsd,Xml,Xsd,我正在处理一个XSD文件,包括以下元素: <xs:element name="group"> <xs:complexType> <xs:attribute name="role" type="xs:string"/> <xs:attribute ref="xlink:role"/> </xs:complexType> </xs:element> 其中没有为xlink命名空间中的“

我正在处理一个XSD文件,包括以下元素:

<xs:element name="group">
    <xs:complexType>
      <xs:attribute name="role" type="xs:string"/>
      <xs:attribute ref="xlink:role"/>
    </xs:complexType>
</xs:element>

其中没有为xlink命名空间中的“角色”属性定义类型。 使用此模式的XML会是什么样子? 我如何知道XML中的“角色”是指哪个属性?
使这些属性具有相同名称的目的是什么?

这就是XML的外观:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) -->
<group xmlns:xlink="http://www.w3.org/1999/xlink" role="role1" xlink:role="http://uri1"/>

正如您在XSD中看到的,名称是限定的;在您的情况下,或者至少对于我使用的测试XSD,属性也可以是限定的,也可以是非限定的。由于是限定的,{}角色因此不同于{}角色

至于目的。。。为什么我们有同音词?我相信,通过使用同义词,可以提高合同的质量,特别是在与不喜欢XML名称空间的人打交道时,或者其他任何人打交道时。。。我不会就您的具体案例发表评论,因为我不知道角色是否真的是一个小小的代价,谈论它所造成的混乱,以及您的XSD可能试图捕捉/应用的业务词汇表中的入迷程度