是否有没有有效文档实例的DTD示例?

时间:2014-09-28 14:39:53

标签: xml dtd xml-dtd

如果我们说DTD是可以满足的,如果有一个对DTD有效的文件,是否有任何DTD不满足的例子?

1 个答案:

答案 0 :(得分:1)

有趣的问题(尽管OP最初的麻烦找到了好话)。

答案是:是的,有些DTD没有有效的实例。以下是一些例子。

(1)此DTD没有有限实例:元素类型e的每个实例都需要另一个元素类型为e的实例。

<!ELEMENT e (e) >

这是一个例子,在下面的评论中,alex会在DTD中调用无限循环。

(2)此DTD也缺少实例:类型e的每个实例都需要IDREF引用文档中的某个ID,但没有声明类型ID的属性,因此不能指向任何ID在

<!ELEMENT e ANY >
<!ATTLIST e ref IDREF #REQUIRED >

(3)此DTD也没有有效实例:每个实例都需要一个f元素,但没有声明f元素。

<!ELEMENT e (f) >

任何不包含元素声明的DTD也不能令人满意。