HTML空白规则的定义?

时间:2009-09-15 08:12:11

标签: html whitespace sgml

我正在寻找这个定义,以使我的HTML渲染器更好地符合。目前它正在猜测要保留哪些空白,哪些要崩溃以及要扔掉什么。 SGML标准很难找到,HTML标准似乎没有根据我的需要对待主题。

目前,我的渲染器将HTML解析为树,然后执行递归布局传递以定位所有元素及其内容。我正在尝试在解析阶段抛出一些空格,即在某些情况下不会仅发出空白文本块。哪种方式适用于大多数情况,但有一些很难处理的边缘情况。

(我也在研究HTML控件的编辑器子类,并且布局时间解决方案在编辑器中被证明是有点问题,因此我努力让它们进入解析阶段。布局信息不是可用到回流时间,这是您编辑文档后的一段时间。)

用连杆/火焰射击。

4 个答案:

答案 0 :(得分:10)

我认为9.1 White space in the HTML 4 specification部分正是您所寻找的。

答案 1 :(得分:5)

所以我认为我最接近的答案是: http://www.w3.org/TR/CSS2/text.html#white-space-model

答案 2 :(得分:3)

如果您正在编写自己的HTML解析器,那么我强烈建议您使用HTML 5规范中的解析算法。 http://www.whatwg.org/html5它涵盖了大量边缘和角落的情况,以及一般的浏览器怪异。浏览器不遵循SGML规则,但它们都在遵循HTML 5规范所说的或者功能等同于它。有几种可用的实现算法的开源解析器,因此它应该包含您需要的所有内容。

答案 3 :(得分:1)

对于空白解析,我可以推荐以下解释:

https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Whitespace