[发明专利]CSS选择子规则匹配方法有效
申请号: | 200810304136.6 | 申请日: | 2008-08-22 |
公开(公告)号: | CN101344895A | 公开(公告)日: | 2009-01-14 |
发明(设计)人: | 胡涛 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/22 |
代理公司: | 成都虹桥专利事务所 | 代理人: | 李顺德 |
地址: | 621000四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | css 选择 规则 匹配 方法 | ||
技术领域
本发明涉及计算机软件技术,特别涉及一种嵌入式软件环境下的互联网应用技术。
背景技术
HTML,即Hyper Text Markup Language,超文本标记语言,是Web技术标准的传输数据描述格式。HTML包含了传输的数据内容,并部分包含了传输内容在Web终端的显示格式。CSS,即Cascading Style Sheets,层叠样式表,是一种W3C规范下,对HTML内容进行排版格式定义的规范,它解决了网页界面排版的难题。
HTML的标记(Tag)定义网页的内容,CSS决定这些网页内容如何显示(Layout)。CSS主要对HTML Web页面的排版,但是它同样适用于在Web和其他媒介上表示XML文档。
HTML规范由标记语法和标记内容组成。CSS规范由语法、格式内容和匹配规则组成。语法规定了内容和匹配规则的表现形式,格式内容规定了各种排版规则,匹配规则规定了对何种标记应用哪一条排版规则。
CSS规则的作用是用一系列选择子运算式定义一种HTML上下文关系,使得满足这种选择子运算式的上下文关系的HTML标记的格式能够被该CSS规则所属的语句中的规则集所定义。这种将HTML标记的上下文关系与CSS规则进行比对的过程称为CSS匹配。
CSS所要处理的文档,主要是与目标HTML相关的CSS文本。它定义了若干条CSS语句,组成CSS语句集,通过标记内嵌、标记属性嵌入和外部独立文本文件嵌入三种方式与HTML产生样式定义关系。其中标记属性嵌入的CSS定义,只包含一个CSS语句,且语句仅由样式规则集构成。
一条CSS语句由选择子和样式规则集构成。浏览器要准确的支持遵循CSS规范的网页,必须针对每一个标记内容,选择正确的CSS语句来应用样式规则。这个过程称为CSS选择子匹配。针对CSS规则语句的匹配、命中是一个处理复杂、耗费资源的过程,在嵌入式环境下,在能够准确的匹配CSS规则的同时,尽可能的减小目标软件对时间和空间资源的消耗,是非常重要的问题。CSS规范的匹配规则是由多个单一匹配规则构成的一种递归规则定义。
中国申请号为“200710203272.1”(公开日为2008年5月21日)的CSS选择子规则匹配方法,公开了一种在嵌入式环境下,在一定规模的CSS定义语句空间中,完成对HTML标记的正确匹配。该方法的核心是根据CSS规则的选择子的首个具有字符串的关键字建立一个CSS规则集的哈希表,用于纪录所有CSS规则的选择子运算式关系;并建立一个匹配栈,用于记录HTML上下文的匹配历史,然后对HTML文档中的标记进行CSS规则集的哈希表中快速搜索,然后对栈中的标记进行上下文关系匹配,最后将剩余的中间结果进行上下文关系的完全检验。将尽可能多的步骤放在解析部分一次完成,而在其后多次匹配的过程中,尽可能降低每次匹配的工作量,在尽可能多的支持匹配规则的基础上,快速完成每一次对HTML内容的CSS选择子匹配。采用该正序匹配方法需要较大的中间匹配结果的存储空间。
发明内容
本发明所要解决的技术问题是,提供一种在存储空间与匹配步骤之间取得一个更好平衡的CSS选择子规则匹配方法。
本发明为解决上述技术问题所采用的技术手段是,CSS选择子规则匹配方法,包括以下步骤:
a、建立CSS语句结构集;
b、对所有CSS选择子结构取最后一个选择子的第一个关键字建立一个哈希表键值,以CSS选择子结构为内容,建立一个哈希表;
c、根据当前HTML标记所有可能的关键字,从所述哈希表中检出可能匹配的CSS选择子集合作为首次匹配集;
d、在所有首次匹配集中,取出一个CSS语句;若CSS语句为空,则进入步骤k;否则,进入步骤f;
f、从后往前依次取出CSS语句的CSS选择子,作为当前原始选择子,若返回为空,则进入步骤i;否则,进入步骤g;
g、在HTML栈中取出一个栈顶HTML标记作为当前HTML标记,若已到栈底则进入步骤j;否则,进入步骤h;
h、对当前原始选择子和当前HTML标记进行匹配,单选择子匹配按选择子规范要求匹配算法实现;若匹配成功,则返回步骤f;否则,进入步骤i;
i、本次CSS语句匹配失败,返回步骤d;
j、本次CSS语句匹配成功,保存当前CSS语句至结果集,返回步骤d;
k、返回结果集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810304136.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:速效胰岛素的鼻内施用
- 下一篇:聚芳唑/热塑性浆粕及其制法