基于XML技术的自动阅卷系统设计与实现_第1页
基于XML技术的自动阅卷系统设计与实现_第2页
基于XML技术的自动阅卷系统设计与实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于XML技术的自动阅卷系统设计与实现摘要:针对XML的特点,提出了基于XML技术来实现自动阅卷系统。分析了自动阅卷系统的阅卷原理和设计方案,并对系统阅卷部分的实现方法进行详细阐述。关键词:XML;自动阅卷;解析1.引言可扩展标记语言(XML)由于它便于数据交换、定制标记、数据自描述、数据集成和结构化描述等优点,受到越来越多开发者的重视【1】。XML其实是基于SGML的一种简化的、更易于处理的元语言。XML实际上是一种定义语言,使用者可以定义无穷无尽的标记来描述文件中的任何数据元素,从而突破了HTML固定标记集合的约束,使文件的内容更丰富更复杂并组成一个完整的信息体系。XML语言具有强大的功能

2、,得到了广泛的应用。同样的,XML也在考试系统中得以应用,特别是在考核评判这个环节【1】。以往的阅卷都是人工完成的,其工作量非常之大,且评判标准不一,导致评判不公平的现象时有发生。正是基于上述问题,利用XML技术来实现对试卷的自动批阅。2.系统设计基础方案阅卷设计的目标就是基于XML技术来实现智能化自动阅卷。通过对XML的详细分析,我们将自动阅卷的功能分为四个模块:XML文件阅卷、XSL阅卷、DTD阅卷和DOM操作阅卷【2】。要实现自动阅卷,需要对信息文件进行解析后进行信息提取。信息文件解析器有很多种,例如XML Parser V2、JAXP、XML4J等【2】。由于XML Parser 相比

3、其他解析器可以节省大量的时间,提高开发效率,缩短开发周期,故选用XML Parser V2解析器;值得注意的是,这里并不是直接使用XML Parser V2解析器,而会对其进行二次开发。XML Parser有两种标准接口规范:DOM接口和SAX接口。(1)DOM接口W3C制定了一套书写XML分析器的标准接口规范,即XML文档对象模式(DOM)。DOM是HTML文档和XML文档的应用程序接口。在应用程序中,基于DOM的XML分析其依据XML的文档结构,将一个XML文档转换成一棵结点树,应用程序通过对这个对象模型的操作,从而实现对XML文档数据操作。这种方法的确点就是对于大的XML文件读取效率很低

4、,耗费了大量资源【3】。(2)SAX接口除了DOM接口外,XML_DEV邮件列表中的成员根据应用的需求也自发地定义了一套对XML文档进行操作的接口规范,即XML简单应用程序接口(SAX)【4】。XML简单应用程序接口与DOM不同,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据大的方式。当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序通过这些事件处理函数实现对XML文档的访问,因而SAX接口也被称作事件驱动接口。这种接口的确定就是不能在内存中保存。这两个接口都有自身的优缺点,本系统采用DOM接口,主要原因在于在系统对答案文档解析的时候

5、需要针对节点,而且答案文档不会很多,故使用DOM接口更合适。由于不同解析器的实现类是不同的,为了使另外一种解析器时不对已发布的程序做改变,系统使用JAXP API。JAXP是为了屏蔽具体厂商的实现,让Java开发人员以一种标准的方式对XML进行编程,SUN公司制定了JAXP规范。JAXP没有提供解析XML的新方法,也没有为XML的处理提供新功能,它只是在解析器之上封装了一个抽象层,允许开发人员以独立于厂商的APT调用访问XML数据。综上所述,系统采用基于JAXP的DOM接口进行模块阅卷(除了DTD模块)。由于DTD并不遵守XML格式,故不使用XML解析器。由于目前使用DTD解析器较少【5】,故

6、在本系统中使用DTD Parser对该模块进行阅卷。3.系统模块设计系统将自动阅卷分为数据库管理模块、阅卷分析模块和判定评分模块,具体结构如图1所示。(1)数据库管理模块数据库存放参考答案、考生答案和批阅规则等信息。数据库管理模块是将这些信息提取出来。同时将考生相应的结果分数和考生错误信息储存到数据库。(2)阅卷分析模块阅卷分析模块主要的功能在于批阅,通过参考答案和考生答案进行比对,得到考生的错误信息,这个错误信息将储存在数据库管理模块。(3)判定评分模块判定评分模块是将阅卷分析模块得到的学生错误信息和评分细则进行对比,从而得到考生的最后分数,并将分数存储在数据库管理模块。4.系统实现(1)X

7、ML数据对象模块的阅卷这个阅卷主要分为三个过程,首先对会文件进行解析,然后对XML良好性和有效性进行检验,最后通过基于JAXP的DOM接口对答案进行解析。1)解析文件解析文件的代码如下:DocumentBuilderFactory jxwj= DocumentBuilderFactory newInstance();/获取新实例DocumentBuilderFactory jx= jxwj.newDocumentBuilde ();Document jxd=jx.parse(new File(daan.xml);2)XML良好性和有效性检验XML文件对格式要求是最为基本和基础的要求。如果XML

8、文件不符合格式的要求,那么系统将会进行报错。同时,对XML文件的有效性进行检验。有效性是指需要符合DTD约束,同样的,如果有效性不能满足,那么系统进行报错。通过继承DefaultHandler类,实现错误程序的创建,进而实现对ErrorHandler接口的创建。这个接口定warning、Error和FatalError三个类型错误【3】。warning:允许解析器通知应用程序,在解析过程中遇到一个警告。虽然XML规范提供了出线警告的多种情形,但实际上,解析器很少产生警告信息。Error:允许解析器通知应用程序,在将解析过程中遇到一个错误。即使在解析过程中遇到一个错误时,解析还继续进行,验证错误

9、也要通过这个时间通知应用程序。FatalError:允许解析器通知应用程序,因遇到一个致命错误不能继续解析。违反良构性错误也通过这个事件通知应用程序。本系统依据评分细则来得到考生分数,其依据是返回错误的类型中Errors具体情况,如果返回是FatalErrors类型,则这个题目不能得分。其代码如下:Jxwj.setValidating(true); /使该解析器支持有效性检查ErrorChecker cw=new ErrorChecker()/ErrorChecker类是该部分的错误处理程序jx.setErrorHandler(cw);/把错误发送给errors对象Document jxd=j

10、x.parse(wj);/解析文档以上程序是指首先对XML进行有效性检查,然后将错误发送给错误对象,最后对文档进行解析。(2)DTD模块阅卷文档定义类型(DTD)使用文档类型声明来引入到XML文档中,它定义了XML文档结构的规则,列出了可用在文档中的元素、属性和实体等以及这些内容之间可能的相互联系,使文档做到有据可依,从而减少错误的产生。一个DTD文档包含:元素的定义规则,元素可使用的属性,可使用的实体或符号规则【3】。DTD根据其在XML文档中的引用方式,可以分为内部DTD和外部DTD两种类型。内部DTD是在XML文档总直接设定DTD,外部DTD是已经编辑好的,并且可以被不同的XML文档共享

11、和调用的DTD。通过使用外部DTD来解决对XML数据对象的知识依赖【6】。所以本模块只是对外部DTD进行阅卷。这个模块主要是通过参考答案与考生答案这两者答案进行比较,最终计算得到考生的分数。其程序为:DTDParser wt=new DTDParser(new file(shiyan.dtd); DTD std=wt.parse(true);/解析器返回一个DTD对象Enumeration fd=std.elements.elements();Enumeration sx=fd.attributes.elements();/解析得到元素、元素的属性等内容(3)XSLT模块阅卷可扩展样式表转换语

12、音(XSLT)是一种用来转换XML文档结构的语音。XSLT语音是W3C定义的标准。通过借助于Xpath在XML文档搜索方面的优势,XSLT可以快速确定XML文档的位置及其内容。XSLT的一个常见用法是把XML转换成HTML,使XML文档能可视化的显示出来。阅卷模块主要是通过利用XSLT相关特点,如条件判断、排序等特点功能,来实现XML文档与HTML文档两者之间进行转换。其转换思路就是,通过对XML文档进行转换,得到一个DOM文件对象,同时输入XSL样式,通过这个样式作为依据,将DOM对象转换成结果文档对象。该模块主要通过通用解析接口(Trax)来进行文件的转换,使用之前的XML阅卷的方法对转化

13、后的结果文件进行阅卷【2】,其代码如下:Source ly=new DOMSource(parsedXmlFile);Result jg=new DOMResul(newDoc);/设置来源和结果Source style=new StreamSource(daan.xsl);TransformerFactory zh=TransformerFactory.newInstance();/转换建立Transformer zhl=transFactory.newTransformer(style);/转换文档Zhl.transform(ly,jg);(4)DOM模块阅卷该模块就是通过DOM接口来对文档进行使用。对DOM操作是以结果作为评分依据,对所有的比如节点创建、添加等DOM接口操作,都是以对解析结果文件来实现最后的DOM阅卷【2】。5.结论本文将基于XML的自动阅卷系统分为XML文件阅卷、XSL阅卷、DTD阅卷和DOM操作阅卷四个模块。在文中对这四个模块进行了分析、设计与实现。随着未来XML的发展,自动阅卷系统将具有较大的改善和提升空间。参考文献【1】 白东蕊,岳云康,张莹. 电子商务概论.北京: 人民邮电出版社,2010:5-8.【2】 连瑞梅.基于XML自动阅卷系统的研究.潍坊学院学报,2011:11(2):26

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论