混合=“true”的差异和 xs:XML 架构中的扩展名
这两者之间的实际区别是什么:
<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>
What is the practical diference between these two:
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两者不同。您的第一个示例使用
mixed="true"
表示混合内容,即与子元素混合的字符数据。而您的第二个示例将元素内容限制为xs:string
类型。两者都表明属性的存在。以你的例子来说,两者实际上是相同的。但是,如果您不打算拥有混合内容,即您不打算添加子元素,那么第二个版本会更清晰。
The two are different. Your first example uses
mixed="true"
which denotes mixed content, i.e. character data mixed in with child elements. Whereas your second example restricts the element content to thexs:string
type. Both indicate the presence of an attribute.With your example, both are practically the same. However, if you do not plan on having mixed content, i.e. you do not plan to add child elements, the second version is much clearer.