我有一个带有 DTD 的 xml 文档。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE company [
]>
<company>
</company>
我收到警告:“必须声明元素类型“company”。”。但“company”是根元素,为什么我必须声明它?
因为作为根元素并没有说明根元素(
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>