根元素必须在 DTD 中声明

问题描述 投票:0回答:1

我有一个带有 DTD 的 xml 文档。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE company [
        ]>
<company>
</company>

我收到警告:“必须声明元素类型“company”。”。但“company”是根元素,为什么我必须声明它?

xml dtd
1个回答
0
投票

因为作为根元素并没有说明根元素(

company
)的内容模型可能是什么:你已经说过它应该是顶级元素;你还没有说它可能有什么属性或子元素。

因此,要么删除

DOCTYPE
以创建格式良好的 XML 文档,

<?xml version="1.0" encoding="UTF-8"?>
<company>
</company>

或添加

company
的声明,例如,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE company [
  <!ELEMENT company (#PCDATA)>
]>
<company>
</company>

另请参阅

© www.soinside.com 2019 - 2024. All rights reserved.