如何在XML文件中指定空元素: DTD:
<!ELEMENT WARNING EMPTY>
XML:
<WARNING />
или
<WARNING></WARNING>
解析器接受的都是正确的。
答案 0 :(得分:1)
XML规范明确指出,您提供的两种形式将被视为等效形式。见https://www.w3.org/TR/xml/#sec-starttags
建议(应该)应该将配对标记格式<e></e>
用于声明为能够拥有内容的元素,将单标记格式<e/>
用于声明为空的元素。在既没有DTD也没有架构的应用程序中,这种区别是不可用的,而且我没有任何人在这个问题上关注规范建议的印象。 (当时这似乎是一个好主意。)
[附录,稍后]我最近有机会再次查看规范的相关部分,并且一位朋友提请我注意这样一个事实,即<e/>
被用于声明EMPTY的元素的建议被标记“对于互操作性”,规范定义为“为了增加与XML之前的SGML软件成功互操作的机会”。这似乎可以解释为什么很少有人遵循所描述的模式:现在很少有人需要与1998年之前开发的SGML软件进行互操作。