发明名称 CSS选择子规则匹配方法
摘要 本发明涉及计算机软件技术。本发明所要解决的技术问题是,提供一种在嵌入式环境下CSS选择子规则匹配方法,在一定规模的CSS定义语句空间中,完成对HTML标记的正确匹配。本方法的核心是建立一个CSS规则集的哈希表,用于纪录所有CSS规则的选择子运算式关系;并建立一个匹配栈,用于记录HTML上下文的匹配历史,然后对HTML文档中的标记进行CSS规则集的哈希表中快速搜索,然后对栈中的标记进行上下文关系匹配,最后将剩余的中间结果进行上下文关系的完全检验。将尽可能多的步骤放在解析部分一次完成,而在其后多次匹配的过程中,尽可能降低每次匹配的工作量,在尽可能多的支持匹配规则的基础上,快速完成每一次对HTML内容的CSS选择子匹配。
申请公布号 CN101183391A 申请公布日期 2008.05.21
申请号 CN200710203272.1 申请日期 2007.12.20
申请人 四川长虹电器股份有限公司 发明人 胡涛;张恩阳
分类号 G06F17/30(2006.01) 主分类号 G06F17/30(2006.01)
代理机构 成都虹桥专利事务所 代理人 李顺德
主权项 1.CSS选择子规则匹配方法,其特征在于,包括以下步骤:a、将CSS规则的选择子的首个具有字符串的关键字建立一个哈希索引表;b、依次检验HTML文件中的标记;检测到开始标记,则根据当前标记的属性,形成一系列符合当前标记属性关键字;d、按关键字到哈希索引表中检索出符合当前标记的CSS规则中间集;e、依次对所述CSS规则中间集进行CSS匹配,过滤掉不匹配的规则后,形成一个匹配中间集;f、记录CSS规则中间集的命中次数;g、比较命中次数和所述CSS规则中间集中选择子个数,若相等,返回CSS规则中间集的规则集;若不等,将CSS规则中间集的规则集、当前标记、当前命中次数形成当前标记的中间匹配结果,存放当前标记的中间匹配结果于匹配栈;h、依次检验匹配栈中以前标记的中间匹配结果中的规则集,使用规则集的被记录的命中次数对应的选择子对当前标记进行CSS匹配,并记录命中次数;i、比较命中次数和以前标记的中间匹配结果中的规则集中选择子个数,若相等,返回以前标记的中间匹配结果中的规则集;若不等,将以前标记的中间匹配结果中的规则集、当前标记、当前命中次数作为下一个中间匹配结果并存放于匹配栈,返回步骤h;j、检测到结束标记,则从匹配栈中弹出一个中间匹配结果。
地址 621000四川省绵阳市高新区绵兴东路35号