如何解决空简单元素和空复杂元素之间的区别-XML
xml文件中的空简单元素和空复杂元素之间是否有区别?我该如何区分它们?
在w3schools中,我发现:
- empty simple element
<element></element>
或<element />
;此外,它还说“空元素可以具有属性。”。 - empty complex element
<product pid="1345"/>
解决方法
成为简单或复杂是一种类型的属性,而不是(直接)元素的属性。我们可以说元素符合类型(特别是在XSD Schema中定义的类型),并且可以说类型是简单或复杂的,但是简单和复杂类型的类别在那些他们允许。具体来说,复杂类型和简单类型都可能允许空元素(例如<e/>
)和具有文本内容的元素(例如<e>foo</e>
)。如果我们看到一个具有属性或子元素的元素,那么我们知道它不能符合任何简单类型,但是如果没有,则我们不看模式就不会知道。
“如何区分它们”这个问题的答案是,您需要查看模式;您不能仅将它们与实例区分开来。
,简单元素意味着它没有子元素,也没有属性。如果元素具有子元素或属性,则将其视为 complex 。
分别说一个元素为空就是说它没有内容–不仅没有子元素,而且没有子文本节点。
因此,简单元素和复杂元素都可以为空或非空。
侧面说明:<e/>
与<e></e>
相对于start标签是自动关闭的,无论其元素是简单还是复杂,都是无关紧要的,并且通常无法在XML级别上检测到或定义
示例
-
<e></e>
很简单而且很空。 -
<e>abc</e>
很简单而且不是空的。 -
<e a="1"></e>
很复杂而且很空。 -
<e a="1">abc</e>
是复杂且非空的。
另请参见
摘要
通常,将 complex 类型视为具有XML子结构,而将 simple 类型视为缺乏XML子结构。认为空意味着没有内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。