当前位置: 首页 > 专利查询>中山大学专利>正文

一种HSML DOM加载器及快速加载HSML DOM方法技术

技术编号:4035373 阅读:254 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种快速加载HSML?DOM方法,包括:应用程序将HSML字符串传递给HSML?DOM加载器;HSML?DOM加载器调用HSML前向遍历器,并将HSML字符串传递给HSML前向遍历器;HSML前向遍历器逐步遍历HSML字符串,并将遍历到的字符串传递给HSML字符分析器;检查字符串是否存在语法错误,在HSML节点分析器分析字符串语法正确时,则将该节点生成为DOM节点,并添加到DOM树中;判断HSML字符串是否都加载完毕,若加载完毕,则HSML?DOM加载器将生成的DOM树返回给应用程序。本发明专利技术实施例还公开了一种HSML?DOM加载器,通过实施本发明专利技术,能够灵活快速的来加载HSML。

【技术实现步骤摘要】

本专利技术涉及数字电视
,具体涉及一种HSML DOM加载器及快速加载HSML DOM方法。
技术介绍
数字电视互动应用页面标记语言(HSML)是在W3C定义的XHTML1. 0规范的基础 上进行的扩展。XHTML全称为可扩展超文本标记语言(Extensible HyperText Markup Language),它吸收了 XML (extensible Markup Language)结构良好和可扩展的特性,采用 XML重构了 HTML4. 01,与HTML4. 01兼容。XHTML的文档结构与HTML文档的结构基本相同, 只是XHTML在语法要求上比HTML更加严格。DOM是文档对象模型(Doucument Object Model)的简称,它是一个跨平台的、可 适应不同程序语言的文件对象模型,它采取直观且一致的方法,将HSML文档进行模型化处 理,提供了存取和更新文档内容、结构和样式的编程接口,DOM将整个页面映射为一个由层 次节点组成的文件,有1级、2级、3级共三个级别。DOM是以层次结构组织的节点或信息片 断的集合。这个层次结构允许开发人员在树中导航寻找特定信息。分析该结构通常需要加 载整个文档和构造层次结构,然后才能做任何工作。HSML的文档结构与HTML文档的结构类似,分析HSML文档通常的方法是将其先加 载为DOM。HSML是在XHTML的基础上扩展的,对于语法要求十分严格,因此加载HSML的最 大的技术难点在于纠正一些语法错误,例如缺少结束标记、属性名中出现大写字母、节点出 现在错位的位置上等。
技术实现思路
本专利技术将使用一种灵活快速的方式来加载HSML,它最大的好处是速度快并且可以 方便的扩展纠错机制。本专利技术所提供的快速加载HSML DOM方法是在分析HSML的时候,预 先快速地将HSML加载为DOM的方法。相应的,本专利技术实施例提供了一种HSML DOM加载器,包括数字电视互动应用页 面标记语言HSML前向遍历器、HSML节点分析器、HSML错误解析器、HSML文档对象模型DOM 树四个部件,其中HSML前向遍历器,用于在建立HSML DOM加载器时,将首先调用HSML DOM加载器中 的HSML前向遍历器,用以遍历并且返回HSML中的各个节点;HSML节点分析器分为语法分析模块和DOM节点生成模块,在HSML前向遍历器将返 回的HSML节点传给HSML节点分析器中语法分析模块后,语法分析器分析HSML前向遍历器 返回的节点,并根据节点指示HSML前向遍历器的下一步操作,在发现节点有语法错误则把 节点传递给HSML错误纠正器进行错误纠正,若语法正确则直接生成DOM节点;HSML错误纠正器包括错误分析模块和错误纠正模块,用于在当HSML节点分析器 检测到语法错误时,HSML错误纠正器首先调用错误分析模块查出具体语法错误并传递给错误纠正模块,错误纠正模块再进行具体的错误纠正;HSML DOM树,用于将HSML节点分析器不断生成的DOM节点添加到HSML DOM树中, HSML DOM树作为最后的分析结果返回。所述HSML前向遍历器使用指针技术来快速遍历HSML字符串,并且逐步返回遍历 的各个节点。所述错误纠正模块再进行具体的错误纠正包括当检测到某个节点属性值为大写 字母,则自动纠正为小写字母。相应的,本专利技术实施例还提供了一种快速加载HSML DOM方法,包括应用程序将HSML字符串传递给HSML DOM加载器;HSML DOM加载器调用HSML前向遍历器,并将HSML字符串传递给HSML前向遍历 器;HSML前向遍历器逐步遍历HSML字符串,并将遍历到的字符串传递给HSML字符分 析器;HSML DOM字符分析器首先调用语法分析模块,检查字符串是否存在语法错误,在 HSML节点分析器分析字符串语法正确时,则将该节点生成为DOM节点,并添加到DOM树中;判断HSML字符串是否都加载完毕,若判断出HSML字符串加载完毕,则HSML DOM 加载器将生成的DOM树返回给应用程序。所述方法还包括HSML DOM字符分析器调用语法分析模块,检查字符串是否存在 语法错误,在所述字符串存在语言错误时,对所述字符串进行错误纠正。所述对所述字符串进行错误纠正包括在所述字符串存在语言错误时,则调用HSML错误纠正器;HSML错误纠正器调用其错误分析模块,分析该节点存在何种语法错误,并将分析 结果传递给HSML错误纠正器中错误纠正模块;HSML错误纠正器重错误纠正模块根据错误分析器传来的分析结果进行相应的错 误纠正,纠正完毕后返回给HSML字符分析器。在对所述字符串中的所有语言错误进行纠正完毕之后,则将该节点生成为DOM节 点,并添加到DOM树中。所述方法还包括在判断出HSML字符串未加载完毕时,进入应用程序将HSML字符 串传递给HSML DOM加载器步骤中直到所有HSML字符串都加载完毕。本专利技术的优点在于HSML错误解析器可以自动的纠正语法错误以及扩展纠错机 制,通过本专利技术实施例中的方法,能够灵活快速的来加载HSML。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本专利技术实施例中的HSML DOM加载器的逻辑结构示意图;图2为本专利技术实施例中的快速加载HSML DOM的方法流程图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 它实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种快速加载HSML DOM的方法,在建立的HSMLD0M加载器基础 上,其实现过程如下应用程序将HSML字符串传递给HSML DOM加载器;HSML DOM加载器调用HSML前向遍历器,并将HSML字符串传递给HSML前向遍历 器;HSML前向遍历器逐步遍历HSML字符串,并将遍历到的字符串传递给HSML字符分 析器;HSML DOM字符分析器首先调用语法分析模块,检查字符串是否存在语法错误,在 HSML节点分析器分析字符串语法正确时,则将该节点生成为DOM节点,并添加到DOM树中;判断HSML字符串是否都加载完毕,若判断出HSML字符串加载完毕,则HSML DOM 加载器将生成的DOM树返回给应用程序。基于上述方案,以下分别进行详细说明。图1为HSML DOM加载器的逻辑结构示意图,它包含HSML前向遍历器、HSML节点 分析器、HSML错误解析器、HSML DOM树四个部件。HSML前向遍历器当建立HSML DOM加载器时,将首先调用HSML DOM加载器中的 HSML前向遍历器,用以遍历并且返回HSML中的各个节点。需要说明的是,这里的HSML前向 遍历器使用指针技术来快速遍历HSML字符串,并且逐步返回遍历的各个节点。HSML节点分析器HSML节点分析器分为语法分析模块和DOM节点生成模本文档来自技高网...

【技术保护点】
一种HSMLDOM加载器,其特征在于,包括:数字电视互动应用页面标记语言HSML前向遍历器、HSML节点分析器、HSML错误解析器、HSML文档对象模型DOM树四个部件,其中:HSML前向遍历器,用于在建立HSMLDOM加载器时,将首先调用HSMLDOM加载器中的HSML前向遍历器,用以遍历并且返回HSML中的各个节点;HSML节点分析器分为语法分析模块和DOM节点生成模块,在HSML前向遍历器将返回的HSML节点传给HSML节点分析器中语法分析模块后,语法分析器分析HSML前向遍历器返回的节点,并根据节点指示HSML前向遍历器的下一步操作,在发现节点有语法错误则把节点传递给HSML错误纠正器进行错误纠正,若语法正确则直接生成DOM节点;HSML错误纠正器包括错误分析模块和错误纠正模块,用于在当HSML节点分析器检测到语法错误时,HSML错误纠正器首先调用错误分析模块查出具体语法错误并传递给错误纠正模块,错误纠正模块再进行具体的错误纠正;HSMLDOM树,用于将HSML节点分析器不断生成的DOM节点添加到HSMLDOM树中,HSMLDOM树作为最后的分析结果返回。

【技术特征摘要】

【专利技术属性】
技术研发人员:罗笑南李彦高怀恩李波
申请(专利权)人:中山大学广东广联电子科技有限公司
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1