这两者之间的实际区别是什么:
<xs:element name="A">
<xs:complexType mixed="true">
<xs:attribute name="att" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="B">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="att" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
答案 0 :(得分:12)
两者不同。您的第一个示例使用mixed="true"
表示混合内容,即与子元素混合的字符数据。而您的第二个示例将元素内容限制为xs:string
类型。两者都表明存在属性。
以你的例子,两者几乎是一样的。但是,如果您不打算使用混合内容,即您不打算添加子元素,则第二个版本会更清晰。