为什么我不能说<iframe /></iframe>并完成它?

sli*_*lim 6 xml xhtml

我认为在XML中你可以有一个带有开始和结束标签的标签,然后如果你不需要结束标签,你可以在它的末尾使用带斜杠的标签.

<!-- needs text/elements within tag so opening and closing tag are needed -->
<myTag>Text here</myTag>
<!-- doesn't need text/elements so doesn't have closing tag -->
<myTag /> 
Run Code Online (Sandbox Code Playgroud)

我猜这只是因为这是所有人认为最好的,现在只是一个XHTML的特点,但为什么呢?我不知道有技术原因吗?

谢谢!

Dan*_*ski 7

这是因为XHTML DTD这么说:)

只允许这些元素为空:

  • 区域
  • 基础
  • BR
  • 关口
  • 小时
  • IMG
  • 输入
  • 链接
  • PARAM

例如link声明为:

<!ELEMENT link EMPTY>
Run Code Online (Sandbox Code Playgroud)

scriptiframe被声明为:

<!ELEMENT script (#PCDATA)>
Run Code Online (Sandbox Code Playgroud)

<!ELEMENT iframe %Flow;>
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
...
Run Code Online (Sandbox Code Playgroud)