当前位置:首页 > 思想汇报 > 毕业论文格式模板word【用XML统一信息格式】
 

毕业论文格式模板word【用XML统一信息格式】

发布时间:2019-03-12 03:48:20 影响了:

  要解决信息的冗余问题,完全依赖人工智能算法是不可行的。在这方面首先要做的就是统一信息的格式,XML就是人们在这个方向上做出的重大努力和成果。   当人们连入互联网,扑面而来的是无穷无尽的信息。可是这些信息的冗余度非常高。在使用Google进行搜索时,大部分人所进行的搜索都会返回上千条结果,但也许只有很少一部分是不重复的信息。
  要解决信息的冗余问题,完全依赖人工智能算法是不可行的。在这方面首先要做的就是统一信息的格式,XML就是人们在这个方向上做出的重大努力和成果。
  基于XML的数据处理实际上分为以下几大领域:
  ● 对XML原始文档的解析;
  ● 对XML原始文档的验证;
  ● 对XML数据的各种操作;
  ● 对XML原始文档的转换。
  在目前所有的编程语言中,只有Java在上述各个领域都提供了大量的方便易用的XML数据处理工具,并且,几乎所有工具都是免费和开源的。因此,我们谈到XML,就不能不提到Java,下面我们将分别介绍这些领域中基于Java的XML数据处理基础支撑技术和应用。
  
  对文档的解析
  
  XML数据基于标记,很方便用户阅读和计算机理解,但是与以前基于普通文本和二进制的数据相比,在程序里对XML数据文件进行解析的难度加大了。因此,从一开始,人们就在考虑对XML数据文件的解析问题。到目前为止,人们已经想出了多种办法来解析XML,并制定了一些规范和事实上的标准。
  ● SAX
  SAX最初是由XML-DEV邮件列表的成员开发的一种用于基于事件的语法分析器的标准和简单的API。SAX是“Simple API for XML”的缩写。SAX最初是为Java而定义的,但是它也可以用于 Python、Perl、C++和COM。以后一定还有更多的语言绑定。与我们接下来要讲到的DOM不同,SAX没有经过官方标准机构的认可,但是它已被广泛使用,并被视为事实上的标准。
  SAX实际上是一个接口集合,它允许开发人员在自己的应用中通过这个接口集合来读取和分析XML文档中的数据。解析器通过读入XML文件,根据所遇到的各个XML文件中的元素,产生不同的事件,主要有以下事件: 元素开始和结束标记、元素内容、实体、语法分析错误。
  开发人员只要提供自己实现的相应事件的事件处理程序,便能获得相应XML文档的信息。
  ● DOM
  DOM是Document Object Model的缩写,是对XML文档的内容进行表示的模型。它把XML文档看作是一系列node和node间的关系,并且把每一个node都当作一个对象,所以叫文档对象模型。
  DOM是与编程语言无关的,因此有多种实现。这是一个非常大的优点,意味着用Java、C/C++,甚至是Javascript,在通过DOM API处理XML文档时的逻辑和方法名都是一致的。
  DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中导航仪寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做其他工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。
  ● Pull Parser
  除了SAX和DOM这两种占绝对优势的解析方法外,也有一种称做Pull的解析方法,这种解析方法在特定情形下性能更高,使用更方便。其基本思想就是等到用户要访问时才去解析某个片断,相当于把解析事件拉(Pull)出来,而不是解析器主动把事件推(Push)给用户。比较典型的代表有XPP[2]和StAX[3],用户可以到相应的开发网站上获取相应的资料。
  
  对文档的验证
  
  对XML原始文档的验证分为两部分,首先是检验此XML文档是否是一个合法的XML文档,即是否well-form。这一步,在解析器解析的时候就会发现是否有错误,并会抛出相应的异常。其次就是根据此XML所对应的DTD或Schema,来验证此XML是否满足相应的结构和类型约束。如果要进行这一步验证,大多数解析器都要求在调用具体的解析方法之前设置一个参数,告之解析器还需要同时验证DTD或Schema。这个参数的设置方法跟具体的实现有关,没有统一的标准。由于第二步操作首先要涉及到解析Schema,获取各种约束,然后对XML进行校验,相对难度较第一步大很多,因此除了Sun和Apache的解析器外,其余不少解析器都还不支持第二步的验证。
  
  对文档中数据的各种操作
  
  ● DOM
  通过标准的DOM API对XML文档进行操作是最通用的方法,除了比较方便外,还可以在各种语言的程序之间取得统一。
  ● 其他文档对象模型
  虽然DOM已经能够比较方便地操作XML文档,但是,在实际应用中,人们还是觉得不够方便。在这种背景下,一些人利用DOM的思想,创建了自己的文档对象模型,提供了自己的API,然后再辅以XPath,使得操作XML非常容易。采用这种方式的典型代表就是Jdom和Dom4j。现在采用上述这两个工具包解析XML文件的开发人员非常多,开发效率也比单纯的使用标准DOM API提高了很多。与此同时,这些工具包大都提供了与标准DOM兼容的接口,使得也能与采用标准DOM的程序兼容。
  ● XML Data Binding
  对于少量的XML数据操作来说,采用上述提到的Jdom或Dom4j已经能够很完美地解决问题。但是如果数据操作比较多,即使是通过上述工具包,开发人员也会淹没在一大堆例如增加节点、修改数据等操作中。除此之外,开发人员必须很清楚XML的结构,对XML的元素名的拼写也不能出错,这一切都使得操作XML不如平常的语言编程方便。
  出于这种考虑,人们又发明了XML Data Binding技术,其根本思想就是把一个XML文档对象模型同一个Java或其他面向对象语言中的对象关联起来。这样用户只需要对这个对象进行操作,其操作结果就能对应地反映到XML文档对象中。举个例子,如果用户要修改某个节点下的某个子节点值,那么他只需获得这个节点所对应的程序对象,然后修改这个程序对象下的某个成员变量的值就可以了。
  通过这种对应方法,加上现在大多数IDE都带有成员提示和参数提示,使得开发人员不再需要记住某个节点下的所有子节点名称和顺序,也完全不用担心节点名称的拼写错误,大大提高了开发效率。
  目前,XML Data Binding引擎有几十个,其中基于Java语言的占了绝大多数。比较好用的有Sun公司的JAXB、Apache的XMLBeans等。
  
  对文档的转换
  
  对XML原始文档进行转换的过程分为两部分: 首先,我们需要一个XSLT引擎,它读入XSLT转换规则文件并编译成内部格式; 其次,它读入XML文件,并应用转换规则输出转换后的文档流。目前,最有名的XSLT引擎有Saxon和Apache Xalan。在Sun制定的JAXP标准中,也定义了Transformation API for XML(TRaX)接口,用于专门的转换操作。
  
  链接:XML相关标准
  XML只是一套定义语义标记的规则,光有这些规则是无法使得XML能被各个应用系统所采纳的。因此,在XML标准推出以后,一系列配套的标准也相应制定出来。
  ● XML Schema
  XML Schema是W3C的推荐标准,于2001年5月正式发布,经过数年的大规模讨论和开发,终于最终确定下来,使得XML建模有了一个国际标准。XML Schema一旦确定下来,立刻成为全球公认的首选XML环境下的建模工具,已经基本取代了DTD在XML刚刚成为W3C推荐标准时的地位。
  ● XSL
  XSL并不是一个简单的样式语言标准,实际上,XSL由3个标准组成: XSL实际上包含三种语言,具体是:
  1. XSLT: 用于定义对XML转换规则的语言;
  2.XPath: 用于在XML文档中定位的表达式语言;
  3. XSL-FO: 用于定义XML显示方式的语言。
  在这三个标准中,XSLT是其中最重要的。XSLT是一种用来将XML文档转换成其他类型文档或其他XML文档的语言。XPath是一种对XML文档的部分进行寻址的语言,设计XPath是要让XSLT使用的。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3