具有两个名称空间中相同名称的属性的元素

时间:2013-10-31 13:41:34

标签: 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命名空间中没有为“role”属性定义类型。 这个Schema的XML怎么样? 我应该如何知道XML中的“角色”属性? 使用相同名称制作此类属性的目的是什么?

1 个答案:

答案 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可能试图捕获/应用的商业词汇的入口程度。

相关问题