基于DOM的嵌入式XML解析器的设计与实现

来源 :东北大学 | 被引量 : 3次 | 上传用户:zhujunhong778
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
XML(Extensible Markup Language,可扩展标记语言)是一种独立于任何语言和体系结构的数据格式,由于其可扩展性和跨平台的特征,使其在Web服务器和数据库系统中得到了广泛的应用,已经成为了数据描述和交换的标准。然而,XML的灵活性对网络基础设施提出了更高的要求,因为它几乎需要耗费服务器80%的处理能力,并且,网络应用中的嵌入式设备也要求应该具有处理XML信息的能力。解决这一问题,是能否提高Web服务应用的关键,开发一种能够替代软件解析XML的方法已成为必须。本文通过对XML解析的理论分析以及三种解析模型的对比,设计了一种基于DOM(Document Object Model,文本对象模型)解析模型的嵌入式XML硬件解析器。本文从软件和硬件两方面实现了该SOPC系统的相关模块。软件部分主要包括:词法分析模块、语法检查模块、DOM树构建模块和Schema验证模块。词法分析模块通过FSM(Finite State Machine,有限状态机)实现,主要是对输入的XML文档中字符做出相应的标记,从而识别出元素名、属性名以及文本内容。语法检查模块主要是对XML文档进行语法检查,包括元素名检查和属性名检查。在元素名检查中,主要使用栈结构对元素名字符进行匹配;在属性名检查中,本文使用一种名为布隆过滤器的高效随机存储结构,可以快速的判断当前的元素是否已经出现过。DOM树构建模块独立于语法检查模块和Schema验证模块,它是对整个XML文档的信息建立一棵树形结构。Schema验证模块,通过对Schema文档进行预处理,将它解析后存储在SDRAM中,解析过程可以直接遍历比较,实现XML文档中的元素和属性与Schema文档中所定义的规则进行匹配,从而验证XML文档的合法性。硬件部分主要包括:基于Nios Ⅱ软核处理器的SOPC系统和人机交互模块等。人机交互模块主要实现了LCD显示,该模块是一种多功能LCD显示控制器,支持不同液晶屏显示模式且提高了系统可移植性本文选用Altera公司的DE2开发板作为硬件部分实现平台,开发板上的FPGA芯片型号为EP2C35F672C6,并在Quartus Ⅱ开发平台上使用Verilog语言编程实现系统的硬件模块。在Nios Ⅱ软核技术搭建的SOPC上实现嵌入式XML解析器的基础功能,采用解析优化方案实现了整个系统。系统中所有软件均采用移植性很强的C++进行编码。通过大量的实验,验证了本文设计的嵌入式XML硬件解析器,在性能上优于软件实现的XML解析器,且资源使用较少,有很好的扩展及移植能力。
其他文献
Mass-dependent isotope fractionation of helium is believed to be too small to significantly change 3He/4He isotopic ratios in geological processes,comparing wit
期刊