发明名称 一种过滤标记语言中非法标签的方法
摘要 本发明公开了一种过滤标记语言中非法标签的方法,包括以下步骤:1、从标签构成的输入数据流中记录下:当前正要解析的标签的位置;上一个解析过的标签的位置;所有尚未解析到其结束标签的起始标签;且在解析的过程中,不断更新上述三个记录信息;2,从标签构成的输入数据流读入第一个非注释的、合法的标签,记为curTag,作为递归函数的输入参数,进行递归解析过程;3,在基于递归的标记语言解析过程中,利用步骤1所记录的信息,采用忽略或虚拟的容错机制,识别并过滤非法标签。本发明不会因为网页中存在错误标签而中断解析过程,从而提高了浏览器的鲁棒性,也增强了用户的浏览舒适度。
申请公布号 CN101458683B 申请公布日期 2011.04.06
申请号 CN200710032441.X 申请日期 2007.12.14
申请人 安凯(广州)微电子技术有限公司 发明人 郭华;廖建华;庞恩林;胡胜发
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 广州知友专利商标代理有限公司 44104 代理人 宣国华
主权项 一种过滤标记语言中非法标签的方法,其特征在于包括以下步骤:步骤1,从标签构成的输入数据流中记录下:(1)当前正要解析的标签的位置;(2)上一个解析过的标签的位置;(3)所有尚未解析到其结束标签的开始标签;且在解析的过程中,不断更新上述(1)至(3)记录信息;步骤2,从标签构成的输入数据流读入第一个非注释的、合法的标签,记为curTag,作为递归函数的输入参数,进行递归解析过程;步骤3,在递归的标记语言解析过程中,利用步骤1所记录的信息,采用忽略或虚拟的容错机制,识别并过滤非法标签,所述忽略或虚拟的容错机制的处理过程为:若读入的下一个标签nextTag是标记语言中未定义的标签,则认为解析出错并调用容错机制一,忽略标记语言中未定义的标签,从输入数据流读入下一个标签;若读入的下一个标签nextTag是之前由步骤1记录的开始标签的结束标签,则回退数据流,把步骤1记录的上一个解析过的标签的位置的值赋给步骤1记录的当前正要解析的标签的位置,使得下一次读到的标签值等于当前的nextTag值,本次递归结束;若读入的下一个标签nextTag是之前无开始标签的结束标签,则忽略它,从输入数据流读入下一个标签;若读入的下一个标签nextTag为空,则本次递归结束;所述容错机制一为:忽略标记语言中未定义的标签,从输入数据流读入下一个标签。
地址 510663 广东省广州高新技术产业开发区科学城科学大道182号C1区301-303、401-402