现在的位置: 首页 > 综合 > 正文

Webkit–DOM分析

2013年03月08日 ⁄ 综合 ⁄ 共 672字 ⁄ 字号 评论关闭



1:什么是HTML DOM


HTML 文档对象模型(HTML Document Object Model)定义了访问和处理 HTML 文档的标准方法。


2:HTML DOM组成


DOM 被分为不同的部分(核心、XML及HTML)和级别(DOM Level 1/2/3):

Core DOM

定义了一套标准的针对任何结构化文档的对象


对应的WEBKIT源码中路径:WebKit\WebCore\dom

XML DOM

提供针对XML的高层的文档处理方法。


对应的WEBKIT源码中路径:WebKit\WebCore\xml


HTML DOM

提供针对HTML的高层的文档处理方法。


对应的WEBKIT源码中路径:WebKit\WebCore\html


可以用下图标示其组成:
 

3:HTML DOM的层次


层次结构大致可以使用下面这张图来标示:
 

在WEBKIT中的节点可以分为两类:


1:不能拥有子节点的节点(字符数据),那么这类节点直接派生之Node.


2:能够拥有子节点的,这类节点是派生之ContainerNode,ContainerNode其实也是派生之Node节点,只不过增加了拥有子节点的能力。


下面是两个关键函数的实现:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
inline
Node* Node::firstChild()
const
{
if(!isContainerNode())
return0;
returntoContainerNode(this)->firstChild();
}
 
inline
Node* Node::lastChild()
const
{
if(!isContainerNode())
return

抱歉!评论已关闭.