一直在查看教程,它有以下xml和xsd。:
我想知道的是你在这个例子中是否必须使用根节点?似乎没有任何xsd类型定义指向'employeeS'节点。
您是否始终必须在xml中拥有根节点,或者只能拥有
<xml version="1.0">
<employee><employee>
<employee><employee>
<employee><employee>
答案 0 :(得分:10)
来自http://www.w3.org/TR/REC-xml/(第5版)第2章的XML规范
这说
“每个XML文档都有逻辑和物理结构。在物理上,文档由称为实体的单元组成。实体可以引用其他实体以使其包含在文档中。文档以”根“开头或文件实体。“
“[定义:只有一个元素,称为根或文档元素,其中没有任何部分出现在任何其他元素的内容中。]对于所有其他元素,如果start-tag在内容中另一个元素,结束标记位于同一元素的内容中。更简单地说,由开始和结束标记分隔的元素在彼此之间正确嵌套。“
所以基本上是的,你总是需要一个根元素。
答案 1 :(得分:2)
摘自description of XML at Wikipedia,其中总结了the official XML spec的几个良构规则:
有一个“root”元素,其中包含所有其他元素。
答案 2 :(得分:2)
是的,您始终必须拥有根节点。但是,您可以拥有一个包含XML文档 fragment 的文件,该文件作为已解析的实体导入到另一个文件中。所有包含文件需要做的是在其DTD中有这样的声明:
<!ENTITY SomeName SYSTEM "/path/to/file.xml">
然后它可以像这样包装起来:
<SomeOuterTag>
&SomeName;
</SomeOuterTag>
答案 3 :(得分:1)
根节点是必需的。它在W3C的命名中也被称为“文档元素”。
定义:只有一个元素,称为根或文档元素,其中任何一部分都不会出现在任何其他元素的内容中(参考:section 2.1 of W3C XML specs)
答案 4 :(得分:0)
是的,您需要拥有一个且只有一个根节点。