Webkit–DOM分析

Webkit–DOM分析

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())
return 0 ;
return toContainerNode( this )->firstChild();
}
 
inline Node* Node::lastChild() const
{
if (!isContainerNode())
return 0 ;
return toContainerNode( this )->lastChild();
}


4:HTML DOM的核心接口

核心接口主要由四个部分组成:

Document(文档)——文档的根节点

Node(节点)——表示文档树的节点,是大多数接口的父接口

NodeList(节点列表)——有序节点集合(如子树)

NameNodeMap(命名节点映射)——无序节点集合(由节点名属性获得的节点集)

4.1:Document

4.2:Node

4.3:NodeList

4.4NameNodeMap

<4.1~4.4的介绍后续补充>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值