首先,让我说我知道XHTML不再是真的了。然而,这个问题实际上是关于网络的历史。或者更确切地说,这个特殊的东西如何成为其历史的一部分。
我已经回答了this question,之后当我看到它作为this one的副本被关闭时,我也在那里阅读了答案。提到它在XHTML中引起的问题让我感兴趣,我也开始想知道定义允许html注释的位置(如果有的话)。我发现每个版本的css都明确允许在其定义中使用html注释标记。首先,这应该意味着可以毫无困难地添加外部样式表。我还发现,确实XHTML 1.0制作了style
和script
- 标签PCDATA
而不是CDATA
的内容。我也研究了这些事情的后果。
现在,我不明白这是怎么回事。我认为这种变化没有任何好处,但我看到了很多不利因素:
它使脚本和样式表中使用的注释技术导致脚本/样式表根本无法读取。确实,那种技术甚至已经过时了,但是像这样打破它仍然有点极端。
由于<
和&
是该语言中常用的两个字符,因此它会导致各种内联javascript问题,并且通常意味着xml解析器会失败。
即使尝试用最好的代码(//<![CDATA[
和//]]>
来解决2来解决问题2),你仍会遇到一些代码问题(代码碰巧有{{ 1}}之后的]]>
或<
)
现在我敢打赌,我错过了必须有一些积极的东西,否则它不会在XHTML标准中结束。或者也许奇怪的是我没想到发生了什么?换句话说:尽管存在所有问题,但最终是如何在XHTML标准中出现的呢?
答案 0 :(得分:1)
很简单,它是XML解析规则所必需的。虽然HTML对于不同的元素具有各种不同的解析规则,因此仅对HTML词汇表有用,但XML具有可用于任何词汇表的一致系统,其中XHTML只是一个。其成本是字符数据不允许在任何元素中使用未转义的<
或&
个字符。