DTD 中的出现指示符是在开始处还是针对每个元素?

Occurence indicator in DTD at the start or for each element?

对于 DTD,这样做有区别吗

<!DOCTYPE Book [
 <!ELEMENT Book (Author+, a, b, c)>
...
>

<!DOCTYPE Book [
 <!ELEMENT Book (Author, a, b, c)
 <!ELEMENT Author (#PCDATA)+>
...
>

有区别吗?如果不是,是否应该在另一个上使用一个?提前致谢

最明显的区别是 XML 语法规则允许第一个构造,而第二个则不允许。包含 #PCDATA 的内容模型不能包含出现指示符。

如果允许,则(逻辑上)意味着一个 Author 元素可以包含一系列文本值,这与包含单个文本值的 Author 元素没有区别。而您的第一个示例允许 Book 包含多个 Author 元素,这根本不是一回事。