- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网页创作系统WHPAT的HTML语法分析转换器实现
阮志丹梁妙园冯刚谢鹤宜
华中师范大学多媒体技术研究所430079
摘要:苯文在分析ttTML3.2语法的基础之上结合I卧IPAT创作系统的内存具体组织方式,按照面向对象的
方法设计了一个HTML语法分析转捷嚣,以完成从内存副IITML文本交件的转换和从盯札文件列内存的转换
工作.
荚键词:/IIPAT创作§统ⅡTML语言标记 =叉埘先序遍历
1。引言
Web
HomePageAuthoringTool(简称WHPAT)是我所新近设计开发的一个全中文化的
Web网页创作系统。该系统采用可视化界面、所见即所得(WYsl、】n,G)的捧版方式。易学易用,
适合于中小型企事业单位,非计算机专业的广大用户,可以用来进行包含文字、图象、声音等
多种媒体信息的发布和信息查询等服务。
2.超文本标记语言(HTML)语法筒析
HTML语言由标记(tag)组成,HTML标记可分为两类:包容标记和空标记。包容标记由一
个开始标记和一个结束标记构成. First
例如:TITLE-MyHomcpage!/rlTLE.空标记只
有起始标记而没有结束标记。例如:IMG
SRC=global.g渺。
3.HTML语法分析转换器的实现
3,1.HTML文件的二叉树转换
在HTML语法规范中,定义了许多基本元素对象。这些元素并不是一种离散的关系,而
是有一定的隶属关系,有的还有嵌套关系。如:段落里可以包含绝大多数HTML基本元素;表
格(Table)里可以嵌套表格;表单(Form)里面可以含有文本、图象等元素等.这些元素的相对位
置关系、隶属关系及任何复杂的关系,都可以用二又树结构清楚地表示出来。使用二叉树有着
其突出的优点,对二叉树的各种操作,如查找、插入、删除等都有比较成熟的算法.
3.2从HTML文本文件转换到内存格式
每次打开HTML文本文件时,把文件内容读出,将其存入~缓冲区。然后,对缓冲区中
的文本字符进行逐个扫描。这里需要设置两个指示器:起点指示器和终点指示器.起点指示器
用于指向正在识别的标记的左尖括号‘’,终点指示器用于指向该标记的右尖括号‘’。
这样,就可对起点指示器和终点指示器之间标记的内容进行处理,具体地说,就是把该标记的
属性等各种信息存放剑相应的数据结构中去。一个标记处理完后,再从该标记的终点指示器后
~字符重新开始扫描,又得到下一个标记。如此循环往复,直到扫描完毕。一般来说,一个标
记将形成树结构中的一个结点,但有些标记是另一元素的属性,如B、I,u等是文本的属性,
它们就不单独形成结点,而是作为文本结点的属性。此外还有一个重要的问题需要解决,印如
何构成结点之间的关系,形成一种树状结构。因为最终要形成二叉树的结构,所以结点闻的关
系不外乎两种:父子关系和兄弟关系.笔者采用堆栈的方法来解决这个闫J露。
为了表示出结点之间的关系。需要设置前一相关结点指针pNode、当前结点指针cNode
的关系(为1表示是兄弟关系,为0表示是父子关系)。对下一结点来说,iNode划为前一循环
而与当前结点之间问隔着若干个结点。这就需要朋堆栈来保留前一相关结点的ID值信息。具
体米说,如果遇到空标记,只需将lsBrother设置为1,因为空标记和下一标记之间肯定为兄弟
关系。对于包容标记,情况就要复杂一些,堆栈的方法在这里得到运用。如果遇到包容标记的
容标记如果嵌套下一标记.划其与下一标记应为父子关系;如果遇到该包容标记的结束标记.
设置为1,这是因为该包答标记已经结束,其与下一标记之问应为兄弟关系。
其具体算法如下:(用类C语言描述)
(1)Begin
cNode=0lsBmther-0
(2)初始化系统参数:—Nodc=-I
(3)While(文件尚未处理完毕)
㈥ 识别一个标记卜殴连续的纯文字
(5) If(是纯文字)
cNode=lD
(6) 进行文本对象处理;令ID=ID+IpNode=cNode
(7) 建立pNode与cNode的关系;令lsBrother=l
f8’ Els
您可能关注的文档
- 投资组合决策的几何方法.pdf
- 图模型理论及在数据发掘中的应用.pdf
- 透视图的自由度与自由效果的透视图.pdf
- 图论在无比例工程图中的应用.pdf
- 图书馆馆际互联网络和资源共享.pdf
- 图书馆--你因乡土文化而更富魅力.pdf
- 图书馆科技文献知识发现面面观.pdf
- 图书馆开展中医药文化传播的策略的研究.pdf
- 图书馆视听资料服务中的著作权问题.pdf
- 图书馆特色数据库项目管理实践.pdf
- 【汕头】2024年下半年广东汕头市市属医疗卫生机构公开招聘工作人员202人笔试历年典型考题及考点剖析附带答案详解.docx
- 2025至2030年中国车轮后股市场分析及竞争策略研究报告.docx
- 2025年中国八角插镯座数据监测报告.docx
- 2025年中国壁挂式燃气泄漏报警器数据监测研究报告.docx
- 2025至2030年中国扁钢丝弹簧市场分析及竞争策略研究报告.docx
- 2025至2030年中国网带铜管退火炉市场现状分析及前景预测报告.docx
- 2025年中国高中物理活动挂图项目投资可行性研究报告.docx
- 2025年塑料吨装袋行业深度研究报告.docx
- 2025年中国休闲带数据监测研究报告.docx
- 2025年中国XPE片材数据监测研究报告.docx
文档评论(0)