我正在制作一个XSD文件,包括以下元素:
<xs:element name="group">
<xs:complexType>
<xs:attribute name="role" type="xs:string"/>
<xs:attribute ref="xlink:role"/>
</xs:complexType>
</xs:element>
在xlink命名空间中没有为“role”属性定义类型。 这个Schema的XML怎么样? 我应该如何知道XML中的“角色”属性? 使用相同名称制作此类属性的目的是什么?
答案 0 :(得分: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可能试图捕获/应用的商业词汇的入口程度。