2013-10-31 62 views
1

我对XSD文件的工作,包括elemets如具有相同名称的属性:元素与两个命名

<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中的含义? 使这些属性具有相同名称的目的是什么?

回答

0

这是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测试 - 也可以是合格的或不合格的。凭借合格,{http://www.w3.org/1999/xlink}角色因此与{}角色不同。

至于目的...为什么我们有同名词?我相信通过使用同义词可以提高合同的质量,特别是在处理不喜欢XML名称空间的人时,或者其他什么......我不会评论你的特定情况,因为我不知道是否角色确实是一个小小的代价,谈论它所造成的混乱,与XSD可能试图捕捉/应用的商业词汇的渗透程度有关。