Xml 具有来自两个名称空间的同名属性的元素
我正在处理一个XSD文件,包括以下元素: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命名空间中的“
<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可能试图捕捉/应用的业务词汇表中的入迷程度