基于XML的网页数据交互机制设计及实现文献综述
2020-04-14 16:31:54
1998年2月,W3C(World Wide Web Consortium,万维网论坛)发布了XML1.0规范,XML(Extensible Markup Language,可扩展的标记语言)正式宣告诞生。作为第二代互联网语言,XML克服了HTML(HyperText Markup Language,超文本标记语言)的不足, 如语法不严格、不具有拓展性、可读性和可维护性差等。凭借其可扩展性、结构化和有效性,成为描述结构化信息的一种标准文本格式,为互联网的发展注入了新的活力。
电子商务、电子出版、远程教育等基于Web的新兴领域的全面兴起使得传统的Web资源更加复杂化、多样化,人们对Web服务功能的需求也达到更高的标准。比如: 用户需要对Web进行智能化的语义搜索和对数据按照不同的需求进行多样化显示等个性化服务; 公司和企业要为客户创建和分发大量有价值的文档信息,以降低生产成本,以及对不同平台、不同格式的数据源进行数据集成和数据转化等等,这些需求越来越广泛和迫切。可以看出,由于HTML的局限型,限制了网络向新的高度发展,SGML(Standard Generalized Markup language,标准通用置标语言)虽是一种通用的文档结构描述符号化语言,为语法和标记提供了非常强大的工具,同时具有极好的扩展性,在数据分类和索引中也非常有用,但SGML的复杂度太高,不适合网络的日常应用,加上开发成本高、不被主流浏览器所支持等原因,使得SGML在Web上的推广受到阻碍。在这种情况下,开发一种兼具SGML的强大功能、可扩展性以及HTML的简单性的语言势在必行,由此诞生了XML语言,且促使各种基于XML规范的相关规范如雨后春笋般纷纷发展起来,如XSL(Extensible Stylesheet Language,可扩展样式单语言)、XSLT(Extensible StylesheetLanguage Transformations,可扩展样式单语言变换)、XLink(XML Linking Language,XML链接语言)、XPath (XML Path Language,XML路径语言),等等。XML规范和XML相关规范综合形成一个XML技术大家族。
数据交换的关键是实行数据交换的双方必须建立一种统一的数据传送格式标准,为数据交换的进行铺设一条畅通的道路。而当今数据交换的现实是:大部分的应用系统是一种孤岛式的计算机系统,拥有自己一套数据格式;不同应用系统表示数据的格式千差万别,难以实现相互间直接准确的数据交换。XML技术独特的优势使其能够解决上述存在的问题,满足各种异构系统之间数据交换和信息整合的要求。XML是一种源标记语言。它提供了一个标准,利用这个标准,应用系统可以根据需要制定自身领域的新标记语言和配套标签。通过把XML作为数据交换的中介,可以为实行数据交换的各方制订一系列底层数据交换规范,各个应用系统之间传输的数据是符合既定规则的数据,从而实现相互之间无缝数据交换。 例如,在HTML中,一首歌可能是用定义标题标记lt;dtgt;、定义数据标记lt;ddgt;、无序的列表标记lt;ulgt;和列表项标记lt;ligt;来描述的。但是事实上这些标记没有一件是与音乐有关的。用HTML定义的歌曲如下:
lt;dtgt;金曲top1
lt;ddgt;青花瓷
lt;ulgt;
lt;ligt;词:方文山
lt;ligt;曲:周杰伦
lt;/ulgt;
而在XML中,同样的数据可能标记为:
lt;SONGgt;
lt;TITLEgt;青花瓷lt;/TITLEgt;
lt;COMPOSERgt;周杰伦lt;/COMPOSERgt;
lt;LYRICISTgt;方文山lt;/LYRICISTgt;
lt;/SONGgt;
在这段代码中没有使用通用的标记如lt;dtgt;和lt;ligt;,而是使用了具有意义的标记。这样用法具有许多优点,包括源代码易于阅读,使人能够看出代码含义。
在众多组织中,许多专家和学者专门研究应用于数据交换的XML技术,取得了重大的成就,大量研究成果经过总结和整理后,最终发展成为技术标准。应用于数据交换领域的最新的XML相关标准和技术有:W3C制定推出的XSL标准、XSLT标准、XLink标准、XPointer标准、XPath标准、SOAP标准等,如表1所示。
表1 XML相关标准表
缩写 | 外文名 | 中文名 | 简介 |
XML
| eXtensible Markup Language | 可扩展标记语言 | 标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 |
XSL | eXtensible StylesheetLanguage | 可扩展样式表语言 | 一种用于以可读格式呈现 XML数据的语言。 |
XSLT | eXtensible StylesheetLanguage Transformations | 可扩展样式表转换语言 | 一种样式转换标记语言,可以将XML数据档转换为另外的XML或其它格式,如HTML网页,纯文字。 |
XLink | XML Linking Language | 可扩展标记语言链接语言 | 是一种通过W3C推荐标准认证的XML标记语言,用于在 XML 文档中创建超链接,以及提供与这些链接相关联的元数据。 |
XPointer | XML Pointer Language | 可扩展标记语言指针语言 | 是在XML文件中定位数据的一种语言,其定位是根据数据在文件中位置、字符内容以及属性值等特性进行的。 |
XPath | XML Path Language | 可扩展标记语言路径语言 | 是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。 |
SOAP | Simple Object Access Protocol | 简单对象访问协议 | 是交换数据的一种协议规范,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。 |
国内在基于XML技术的数据交换领域的理论研究和项目实践进程也一直稳步向前,取得了很多突破性的进展。例如,北京工业大学的廖湖声教授对于Twig算法(一种广泛存在于XPath和XQuery的查询请求中的查询模式)研究颇深,发表多篇论文阐述其特征以及介绍相关应用;来自中国工程物理研究院计算机应用研究所的吴家菊和纪斌也提出了一种基于XML Schema验证XML文档的算法;张睿在分析当前电子政务信息化发展的基础上,结合某市电子政务的实际需求,提出基于XML数据交换平台的系统目标,对基于XML数据交换平台进行深入研究,并设计基于XML的数据交换模型。而在医疗、船舶等行业目前也有许多公司正致力于研究与开发工作,其中XML数据交换是不可或缺的部件。这样的公司有首信息发展股份有限公司、万达信息股份有限公司、黎明网络有限公司、太极计算机公司等等。
XML技术是一种新兴的、正在成长的技术,XML语言的可扩展性、结构化和可验证性充分展现出其先进性。而数据交换领域中,有关数据格式标准的问题仍然存在,不同应用在这些问题的实现细节上也有所差异。XML技术最擅长、最突出的应用就是作为信息交换的数据格式技术标准,以XML作为数据中介,实现系统部件间异构数据的集成和交换。因此,课题有理论研究的必要。当前,数据交换几乎渗透到了各种类型的网络应用中。如在电子政务中,政府部门内部、政府部门之间以及政府与企业和市民之间都存在数据传递和交换。进行数据交换和XML技术应用方案的研究,有现实需求和使用市场。
2. 研究的基本内容与方案
{title}2.1 基本内容本次毕业设计的课题是设计及实现一个基于XML的网页数据交互机制系统,以Django的web系统为基础,实现网页能够获取相应的xml格式数据,并将该数据按照网页布局进行显示。
其主要工作是:
系统地研究XML技术体系,分离出与数据交换密切联系的内容,分析XML技术对数据交换的适用性。
从整体上把握XML数据交换模型,分析XML数据交换过程的共性。
用实际项目检验数据交换模型提出的思想,实现项目中数据交换涉及的模块内容。
在知识的积淀和项目经验积累的基础上,设计一个专门用于数据交换的中间件:基于XML的数据交换平台。
总体说来,就是在研究XML技术体系的基础上,对XML的优势应用领域数据交换进行考察、分析和实践。
1、了解XML的概念、格式特性及语法,并熟悉其应用;
2、熟练掌握python语言;
3、学会使用Django编写web网页并进行调试。
4、实现基于XML的数据交换。
2.3 技术方案
开发平台:Windows 10
开发环境:Python 3.7
Django 2.1.7
MySQL 5.7.17
使用工具:Altova XMLSpy(xml工程开发)IDLE、Pycharm(python语言学习)
Django(web服务器开发)
数据库:MySQL
本次课程设计和运行环境都是在Windows操作系统之上,采用Python语言,它是一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言,具有简单、易学、速度快、免费开源、面向对象、可拓展等优点。IDLE是开发 python 程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择。而PyCharm也是一种Python IDE,它提供了一些高级功能,以用于支持Django框架下的专业Web开发。Django是一个开放源代码的Web应用框架,由Python写成,采用了MVC(Model View Controller,模型-视图-控制器)的框架模式,其主要目的是简便、快速的开发数据库驱动的网站。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。Altova XMLSpy是一个用来查看、验证和编辑XML文档的入门级XML编辑器,它是需要查看XML、DTD、XML架构、XSLT和XQuery文件和执行低级别编辑任务的用户的理想工具。
[1]刘科,杨红丽,赵瑞芳,廖湖声,陈瑶,秦胜潮. XML Schema特征提取算法[J]. 软件工程与数据库技术,2015,42(B11):438-443.
[2]吕峰,高春林,张喜成, 等.基于Biztalk的异构医疗信息系统数据集成研究[J].电脑知识与技术,2016,12(8):4-6.
[3]张睿.基于XML的电子政务数据交换平台设计[J].安徽冶金科技职业学院学报,2014,24(2):24-26.
[4]谢鸿韵.基于XML的数据交换在分布式WEB系统中的应用研究[J].通讯世界,2018, (07):31-32
[5]辛海燕,徐浩,苗元青,等.基于XML技术的电子病历在医院中的应用[J].中华医学图书情报杂志,2013,22(2):77-79.
[6]孙更新,李伟超,李玉玲. XML编程与应用教程[M].北京:清华大学出版社,2014.
[7]黄永祥.玩转Django 2.0[M].北京:清华大学出版社,2018.
[8] (美) Jeff Forcier, Paul Bissex, Wesley Chun,徐旭铭等译. Django Web开发指南[M].北京:机械工业出版社,2009.
[9] Mark Lutz著,秦鹤,林明译. Python学习手册[M].北京:机械工业出版社,2018.
[10] Shun'ichi Amano, Claire David, Leonid Libkin, Filip Murlak. XML Schema Mappings: Data Exchange and Metadata Management[J].Journal of the ACM (JACM),2014,61(02)
[11] Miko#322;aj Bojańczyk,Leszek A.Ko#322;odziejczyk, Filip Murlak. Solutions in XML data exchange[J]. Journal of Computer and System Sciences, 2013, 79(6): 285 -315
[12] Evgeny Sherkhonov. Data exchange for document-centric XML [C]. Proceedings of the 2014 SIGMOD PhD symposium,2014.
[13] Wiwit Suryanto,Theodosius Marwan Irnaka. Web-based application for inverting one-dimensional magnetotelluric data using Python[J]. Computers and Geosciences,2016,96.
[14] Liu, Jian; Zhang, X.X. Data integration in fuzzy XML documents [J]. Information Sciences, 2014,280:82-97.
[15] Qtaish, A; Ahmad, K. Model mapping approaches for XML documents: A review [J]. JOURNAL OF INFORMATION SCIENCE, 2018, 41(4):444-466.
1998年2月,W3C(World Wide Web Consortium,万维网论坛)发布了XML1.0规范,XML(Extensible Markup Language,可扩展的标记语言)正式宣告诞生。作为第二代互联网语言,XML克服了HTML(HyperText Markup Language,超文本标记语言)的不足, 如语法不严格、不具有拓展性、可读性和可维护性差等。凭借其可扩展性、结构化和有效性,成为描述结构化信息的一种标准文本格式,为互联网的发展注入了新的活力。
电子商务、电子出版、远程教育等基于Web的新兴领域的全面兴起使得传统的Web资源更加复杂化、多样化,人们对Web服务功能的需求也达到更高的标准。比如: 用户需要对Web进行智能化的语义搜索和对数据按照不同的需求进行多样化显示等个性化服务; 公司和企业要为客户创建和分发大量有价值的文档信息,以降低生产成本,以及对不同平台、不同格式的数据源进行数据集成和数据转化等等,这些需求越来越广泛和迫切。可以看出,由于HTML的局限型,限制了网络向新的高度发展,SGML(Standard Generalized Markup language,标准通用置标语言)虽是一种通用的文档结构描述符号化语言,为语法和标记提供了非常强大的工具,同时具有极好的扩展性,在数据分类和索引中也非常有用,但SGML的复杂度太高,不适合网络的日常应用,加上开发成本高、不被主流浏览器所支持等原因,使得SGML在Web上的推广受到阻碍。在这种情况下,开发一种兼具SGML的强大功能、可扩展性以及HTML的简单性的语言势在必行,由此诞生了XML语言,且促使各种基于XML规范的相关规范如雨后春笋般纷纷发展起来,如XSL(Extensible Stylesheet Language,可扩展样式单语言)、XSLT(Extensible StylesheetLanguage Transformations,可扩展样式单语言变换)、XLink(XML Linking Language,XML链接语言)、XPath (XML Path Language,XML路径语言),等等。XML规范和XML相关规范综合形成一个XML技术大家族。
数据交换的关键是实行数据交换的双方必须建立一种统一的数据传送格式标准,为数据交换的进行铺设一条畅通的道路。而当今数据交换的现实是:大部分的应用系统是一种孤岛式的计算机系统,拥有自己一套数据格式;不同应用系统表示数据的格式千差万别,难以实现相互间直接准确的数据交换。XML技术独特的优势使其能够解决上述存在的问题,满足各种异构系统之间数据交换和信息整合的要求。XML是一种源标记语言。它提供了一个标准,利用这个标准,应用系统可以根据需要制定自身领域的新标记语言和配套标签。通过把XML作为数据交换的中介,可以为实行数据交换的各方制订一系列底层数据交换规范,各个应用系统之间传输的数据是符合既定规则的数据,从而实现相互之间无缝数据交换。 例如,在HTML中,一首歌可能是用定义标题标记lt;dtgt;、定义数据标记lt;ddgt;、无序的列表标记lt;ulgt;和列表项标记lt;ligt;来描述的。但是事实上这些标记没有一件是与音乐有关的。用HTML定义的歌曲如下:
lt;dtgt;金曲top1
lt;ddgt;青花瓷
lt;ulgt;
lt;ligt;词:方文山
lt;ligt;曲:周杰伦
lt;/ulgt;
而在XML中,同样的数据可能标记为:
lt;SONGgt;
lt;TITLEgt;青花瓷lt;/TITLEgt;
lt;COMPOSERgt;周杰伦lt;/COMPOSERgt;
lt;LYRICISTgt;方文山lt;/LYRICISTgt;
lt;/SONGgt;
在这段代码中没有使用通用的标记如lt;dtgt;和lt;ligt;,而是使用了具有意义的标记。这样用法具有许多优点,包括源代码易于阅读,使人能够看出代码含义。
在众多组织中,许多专家和学者专门研究应用于数据交换的XML技术,取得了重大的成就,大量研究成果经过总结和整理后,最终发展成为技术标准。应用于数据交换领域的最新的XML相关标准和技术有:W3C制定推出的XSL标准、XSLT标准、XLink标准、XPointer标准、XPath标准、SOAP标准等,如表1所示。
表1 XML相关标准表