0

我是 DTD 的新手,我不确定我是否正确理解了这段代码。

<!ELEMENT P         - - (#PCDATA) +(tag1 | tag2 | tag3) >

这段代码是否允许 P 标签包含 tag1、tag2 和 tag3?

4

1 回答 1

1

这是一种SGML语法,而不是 XML。可以看到,因为在声明元素的名称P(意味着可以省略结束标签)。#PCDATA- -- O

+(tag1 | tag2 | tag3)意味着你可以在任何你想要的地方使用, tag1tag2嵌套tag3P元素中。它是递归的,这意味着,假设在 中允许其他元素P,您也可以允许此标签出现,即使它们没有在元素的同一级别声明。

相反,为了防止这些元素进一步出现在您的元素及其子元素中,您将使用-(tag1 | tag2 | tag3).

于 2015-09-29T08:33:53.093 回答