声明DTD元素类型时,“ - O”是什么意思?
问题描述:
根据W3C XML规范,元素的形式宣布:声明DTD元素类型时,“ - O”是什么意思?
[45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>'
[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children
和样品上w3school是:
<!ELEMENT br EMPTY>
但html 4.01 strict dtd元素br为:
<!ELEMENT BR - O EMPTY -- forced line break -->
为什么第二个声明添加“ - O”的?这是什么意思?我在哪里可以找到关于此的官方文件?
答
像@erickson说,连字符意味着“需要”和“O”表示可选。第一个 -/O用于开始标记,第二个 -/O用于结束标记。这被称为标签最小化。
标签最小化只允许在SGML的DTD。这就是为什么你在HTML严格DTD看到它,但你看不到它在XML规格或W3Schools的将XML实例。
非常感谢。 – btpka3