转载:CMarkup介绍(二)
2007-05-16 09:59
260 查看
正在处理您的请求...
技术文章(RSS)
2007年04月(7)
2007年03月(1)
2007年02月(3)
2007年01月(5)
2006年07月(1)
2005年09月(2)
2005年08月(2)
2005年07月(2)
2005年06月(5)
作者tag:.net database ie xml ip CSDN 推荐tag:server 配置文件 解析 uxml
[align=center]<<程序的方法启动或停止指定的系统后台服务 | 二维图像的三角形变换算法解释 >>[/align]
CMarkup介绍(二)
CMarkup定位解释
原文出自http://www.firstobject.com/dn_markinternal.htm
三年前,我写过一篇关于Cmarkup定位的解释,现在我用这篇文章代替那篇。
前三个整数告诉我们了在文档中,元素的起始位置,它的长度以及开始和结束标签的长度,因为nStart是一个32bit的整数,所以文档 的最大尺寸可以有2G,并且同样,最大元素的长度是一样的。整数nTagLengths被分成两部分,22bit(4M)用于开始标签(开始标签可以包含属性),另外10bit(1K)用于结束标签。在下列元素中,开始标签的长度是14,结束标签是8.,整个元素的长度是29.
整数nFlags的低16位实际存储的是元素的深度或层次,高16位是特殊标识。根元素是0层,根元素的孩子是1层等等 ,特殊标识告诉我们元素是第一个兄弟或最后一个兄弟、或空元素、以及如果这个元素已经被删除了(这样的结构能够被恢复)
四个iElem整形变量链接到周围的相关元素,iElemParent指向父元素,iELemChild指向第一个子元素,iElemNext指向下一个元素,当这个元素是最后一个兄弟时,iElemNext是0,当元素不是第一个兄弟元素时,iElemPrev指向其前一个兄弟元素,如果元素是第一个兄弟元素,iElemPrev指向最后一个兄弟元素。因此,顺着iElemChild的链接以及从那里沿着iElemPrev的链接,可以得到父元素的最后一个子元素。
如果你熟悉像这样用树结点链接在一起的工作方式,你将明白这个地图的效果。这个设计对于树层次的回来操作是有效的,再通过兄弟元素形成一个环,但是,对于随机访问第n个子元素将需要先循环这个元素之前的所有兄弟元素。一旦被建立起来,在文档中随意的导航将不再需要费时的分析。
当一个文档被分析时,就产生了这些信息,因此当文档被修改时,这些信息也修改。例如,增加一个属性,开始标签的长度改变了,元素的长度改变了,以及所有后面的和包含的元素都要被调整。如果删除一个元素,领衔值改变了,还有其前一个元素的iElemNext也被修改以绕过删除的元素等等。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=413133
[收藏到我的网摘] 叮叮发表于 2005年07月04日 19:34:00
相关文章:
STL 之 Container Concepts 2002-06-28 jinfeng_wang
XHTML 2005-08-15 metronome
CMarkup概述 2005-06-24 aqua_aqua
html简介 2006-07-03 Cpp_Java_Man
DTD指南(2)-DTD-XML的构建模块[原创] 2005-02-10 ninjaboy
特别推荐:
主机完全DIY,域名免费试用
时代互联100M主机 216元/年 com
趋势中国研发中心诚聘英才
趋势科技—网络安全软件及服务领域的全球领导者
避免常见的 Ajax 代码陷阱
通过理解错误的编码方式,可以更好地了解如何正确地进 Ajax 和 XML: 五种 Ajax 反模式
花旗软件招聘c++,java工程师
花旗软件目前主要为花旗集团亚太地区、中东及欧洲国家 提供软件开发和技术支持
在Java中使用反射分析类结构
Netbeans
[align=center]<<程序的方法启动或停止指定的系统后台服务 | 二维图像的三角形变换算法解释 >>[/align]
没有评论。
Powered by:
Copyright © 叮叮
知足者常乐 |
CSDN | 社区 | 技术中心 | BLOG首页 | 我的首页 | 个人档案 | 联系作者 | 聚合 | | 搜索 | 登录 |
|
文章
Web开发(RSS)技术文章(RSS)
收藏
相册
存档
2007年05月(1)2007年04月(7)
2007年03月(1)
2007年02月(3)
2007年01月(5)
2006年07月(1)
2005年09月(2)
2005年08月(2)
2005年07月(2)
2005年06月(5)
最近评论
邱正男:很不错啊!!!作者tag:.net database ie xml ip CSDN 推荐tag:server 配置文件 解析 uxml
[align=center]<<程序的方法启动或停止指定的系统后台服务 | 二维图像的三角形变换算法解释 >>[/align]
CMarkup介绍(二)
CMarkup定位解释
原文出自http://www.firstobject.com/dn_markinternal.htm
三年前,我写过一篇关于Cmarkup定位的解释,现在我用这篇文章代替那篇。
前三个整数告诉我们了在文档中,元素的起始位置,它的长度以及开始和结束标签的长度,因为nStart是一个32bit的整数,所以文档 的最大尺寸可以有2G,并且同样,最大元素的长度是一样的。整数nTagLengths被分成两部分,22bit(4M)用于开始标签(开始标签可以包含属性),另外10bit(1K)用于结束标签。在下列元素中,开始标签的长度是14,结束标签是8.,整个元素的长度是29.
整数nFlags的低16位实际存储的是元素的深度或层次,高16位是特殊标识。根元素是0层,根元素的孩子是1层等等 ,特殊标识告诉我们元素是第一个兄弟或最后一个兄弟、或空元素、以及如果这个元素已经被删除了(这样的结构能够被恢复)
四个iElem整形变量链接到周围的相关元素,iElemParent指向父元素,iELemChild指向第一个子元素,iElemNext指向下一个元素,当这个元素是最后一个兄弟时,iElemNext是0,当元素不是第一个兄弟元素时,iElemPrev指向其前一个兄弟元素,如果元素是第一个兄弟元素,iElemPrev指向最后一个兄弟元素。因此,顺着iElemChild的链接以及从那里沿着iElemPrev的链接,可以得到父元素的最后一个子元素。
如果你熟悉像这样用树结点链接在一起的工作方式,你将明白这个地图的效果。这个设计对于树层次的回来操作是有效的,再通过兄弟元素形成一个环,但是,对于随机访问第n个子元素将需要先循环这个元素之前的所有兄弟元素。一旦被建立起来,在文档中随意的导航将不再需要费时的分析。
当一个文档被分析时,就产生了这些信息,因此当文档被修改时,这些信息也修改。例如,增加一个属性,开始标签的长度改变了,元素的长度改变了,以及所有后面的和包含的元素都要被调整。如果删除一个元素,领衔值改变了,还有其前一个元素的iElemNext也被修改以绕过删除的元素等等。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=413133
[收藏到我的网摘] 叮叮发表于 2005年07月04日 19:34:00
相关文章:
STL 之 Container Concepts 2002-06-28 jinfeng_wang
XHTML 2005-08-15 metronome
CMarkup概述 2005-06-24 aqua_aqua
html简介 2006-07-03 Cpp_Java_Man
DTD指南(2)-DTD-XML的构建模块[原创] 2005-02-10 ninjaboy
特别推荐:
主机完全DIY,域名免费试用
时代互联100M主机 216元/年 com
趋势中国研发中心诚聘英才
趋势科技—网络安全软件及服务领域的全球领导者
避免常见的 Ajax 代码陷阱
通过理解错误的编码方式,可以更好地了解如何正确地进 Ajax 和 XML: 五种 Ajax 反模式
花旗软件招聘c++,java工程师
花旗软件目前主要为花旗集团亚太地区、中东及欧洲国家 提供软件开发和技术支持
在Java中使用反射分析类结构
Netbeans
[align=center]<<程序的方法启动或停止指定的系统后台服务 | 二维图像的三角形变换算法解释 >>[/align]
没有评论。
发表评论
大名: | 请输入尊姓大名 |
网址: | |
评论 请输入评论 | |
Copyright © 叮叮
相关文章推荐
- 转载:AbstractQueuedSynchronizer的介绍和原理分析
- 转载------给程序员介绍一些C++开源库
- [转载]A星寻路算法介绍
- C# 委托 介绍(转载)
- SQL Server 全文索引介绍(转载)
- 转载一篇密码学基本介绍
- 转载:连接MySQL数据库的两种方式介绍
- CMarkup介绍(二)
- AutoCAD的定制开发接口(高级篇)专题培训材料介绍[转载]
- 转载_linux中的dd命令介绍
- (转载)通过金矿模型介绍动态规划
- HTML中META标签用法的详细介绍(转载)
- Ceph架构介绍及使用(转载)
- 技术解析:视频编码、封装格式介绍 转载
- makefile的介绍[转载]
- 转载:YUM常用命令介绍
- 转载一篇-光流法简单介绍
- 转载_arm架构CMSIS(ARM Cortex™ 微控制器软件接口标准)介绍
- (转载)jsp的session,cookie介绍
- vim之一--vim介绍【转载】