Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 DTD 的新手,我不确定我是否正确理解了这段代码。
<!ELEMENT P - - (#PCDATA) +(tag1 | tag2 | tag3) >
这段代码是否允许 P 标签包含 tag1、tag2 和 tag3?
这是一种SGML语法,而不是 XML。可以看到,因为在声明元素的名称P(意味着可以省略结束标签)。#PCDATA- -- O
P
#PCDATA
- -
- O
+(tag1 | tag2 | tag3)意味着你可以在任何你想要的地方使用, tag1,tag2嵌套tag3在P元素中。它是递归的,这意味着,假设在 中允许其他元素P,您也可以允许此标签出现,即使它们没有在元素的同一级别声明。
+(tag1 | tag2 | tag3)
tag1
tag2
tag3
相反,为了防止这些元素进一步出现在您的元素及其子元素中,您将使用-(tag1 | tag2 | tag3).
-(tag1 | tag2 | tag3)