APP下载

基于XML的海洋环境数据处理技术研究

2011-12-28李彦王宇飞王鑫朱锐

海洋通报 2011年6期
关键词:浮标文档定义

李彦,王宇飞,王鑫 ,朱锐

(1.国家海洋技术中心,天津 300112;2.University of Nottingham,NOTTINGHAM,NG8 1AD)

基于XML的海洋环境数据处理技术研究

李彦1,王宇飞2,王鑫1,朱锐1

(1.国家海洋技术中心,天津 300112;2.University of Nottingham,NOTTINGHAM,NG8 1AD)

海洋环境数据是海洋科学研究、应用、发展的重要基础,然而由于获取手段的不同,导致各类数据格式不一,为数据交换带来一定难度。因此,本文主要针对海洋环境数据交换能力差这一问题,利用XML技术统一数据格式定义,并通过对小浮标获取数据的解析处理,说明XML技术在应对跨学科、跨平台的海洋环境数据交换方面具有广泛的应用价值。

XML;海洋环境数据;互操作

海洋环境数据是海洋科学研究、应用、发展的重要基础,是维护海洋权益、保障海洋安全、保护海洋环境、促进海洋可持续发展的重要支撑。

海洋环境立体监测系统[1]是海洋环境数据获取的基本手段,核心是由以遥感卫星组成的天基海洋环境监测平台,以海洋巡航飞机、有人/无人航空遥感飞机组成的空基海洋环境监测平台,以固定海洋环境监测站和高频地波雷达站组成的岸基海洋环境监测平台,以浮标、潜标、漂流浮标、水下移动潜器、船舶等组成的海基海洋环境监测平台,以水下固定监测站、水下水声探测阵等组成的海底海洋环境监测平台等构成的多平台、长时序的海洋环境立体监测系统。

因此,海洋环境数据根据获取手段的不同而格式各异[1,2],由于缺乏统一标准无法实现在不同平台、系统中的交互,这为包括管理部门、科研机构、企业、教育界以及公众在内的广大用户对数据的使用带来了很大不便。XML技术的出现恰恰可以解决这一问题。

联合国教科文组织(UNESCO)的政府间海洋学委员会(IOC)的国际海洋资料与情报交换委员会(IODE)一直致力于标准数据格式、简化数据交换的研究。2000年, IODE前任主席Ben Searle创建了marineXML联盟从事marineXML标准的开发。国际海洋勘探理事会(ICES)与IOC联合成立了SG-XML(Study Group on the Development of Marine Data Exchange Systems Using XML)。并在2002年4月召开的第一次会议上,提出了SGXML的职责和主要工作内容,提出了提出最佳的海洋数据元数据定义。英国的国家海洋资料中心、HR WALLINGFORD LTD和政府机构共同发起的长达两年的EU MarineXML项目,以改进涉海用户系统,特别是海洋观测系统的数据交互性为目的,开发了一个基于XML的海洋标记语言原型,以推动数据标准的制定。

本文主要以研究适用我国海洋环境数据交换的统一格式需求为目的,通过参考国际现有成果,利用XML技术进行数据处理,为海洋用户提供具有可操作性的数据共享服务。

1 XML技术

XML是eXtensible Markup Language(可扩展的标记语言)的缩写[3,4],是W3C组织于1998年2月发布的一种标记语言标准,其目的和作用是提供一种国际统一的规范,进行Intenet上各种信息数据的统一表示和交换。XML解决了在不同系统之间的数据结构差异,使得数据层在XML技术的支持下得到统一。在国际互联网上,服务器与服务器之间、服务器与浏览器之间有大量的数据需要交换,特别是在电子商务、公共卫生、远程教育、电子金融等领域中。这些被交换的数据,都被要求对数据的内容和表现方式进行说明,用XML标记语言处理这类工作最为合适。因此在互联网世界XML的用途主要有两个,一是作为元标记语言,定义各种领域相关的标记语言标准;二是作为标准交换语言,担负起描述交换数据的作用。

XML本身是一种开放性技术,是连接不同系统、不同平台的数据桥梁,目前XML技术受到了行业的广泛关注和认同,支持XML的软件和开发工具越来越多,功能也越来越强大,许多XML工具还提供了开放的源代码,以方便在此基础之上进行移植和二次开发。

XML起源于SGML(Standard Generalized Markup Language),它是SGML的一个简化版本,从来源上看,XML和HTML都是由SGML派生而来的,但是,HTML是一种特殊化的标记语言,而XML是开放的标记语言。HTML的优势是连接文本和显示内容,但在动态信息处理仍有很多问题;由于HTML具有固定的格式,缺少了灵活性,只能描述有限的数据类型,若使HTML包含了所有的数据类型,那么HTML将变得非常复杂。而XML是一种元语言(Meta Language),它本身不提供预定义标记,而提供了一个定义标准,用户根据该准则制定适合需要的标记体系。可以说XML是“基于信息描述的、能够体现数据信息之间逻辑关系的、可以确保文件的易读性和易搜索性的自定义标记。

在XML安全方面,XML语言自身的结构化特征,以及XML广泛和深入的应用,给XML数据的安全带来了新特性,比如保护XML文档的存储安全、保护XML消息长期的确认性、保护XML文档局部数据的安全等。W3C和IETF于1999年提出了XML数字签名标准(XML Digital Signature Syntax and Processing),该标准在2002年2月12日成为W3C的推荐标准(W3C Recommendation)。W3C还于2000年4月开始制定XML加密标准(XML Encryption Syntax and Processing),并于2001年10月18日发布工作草案(W3C Working Draft)。

XML语言具有如下特点:

(1)XML不但是标记语言,而且是可扩展的(eXtensible)标记语言。不同个人、不同行业和应用都可以根据实际需要定义新的标记语言。准确的说,XML是一种元语言,基于它提供的规则,可以制定各种各样的标记语言;

(2)信息的显示与处理分离:在XML中,文档内容以什么样的形式显示由可扩展样式语言(eXtensible Style Language,简称XSL)和层叠样式表(Cascading Style Sheets,简称CSS)加以控制。这样,如果需要改动信息的表现方式,无须改动信息本身;XML中数据搜索可以简单高效地进行;XML文档制定者可以根据数据自身的逻辑定义文档结构;显示与内容分离,极大地拓宽了XML的应用领域;

(3)XML遵循严格的语法要求,结构清晰,可读性好,容易编制,便于不同系统之间信息的传输。

因此,采用XML来描述数据,就可以很方便的在相同的或是不同的系统中对这些数据进行互操作。例如,一位开发者可以使用来自另一个系统的数据,只要那些数据是用XML描述的,开发者在考虑软件的互操作性时就不必担心诸如平台、操作系统、语言、或是数据存储等各方面的不同了。

但是,XML并不关心数据是如何具体描述的、数据是否正确。这一问题需要XML schema来解决。

XML Schema就是描述信息结构的模型,可以用来对XML文档内容的合法性进行验证,包括2个方面:一方面是语法结构的验证,即元素类型、元素嵌套格式、属性类型、属性值数据类型、属性值是否可选等相关文档对象单元本身及其结构的合法性;另一方面是语义的验证,只有真正理解了XML文档的含义才能算是实现了信息交互,否则仅是结构上正确但意义模糊的信息,对于接收方来说一样是无用的,有时甚至会产生误解,起到相反的作用。

验证步骤如下:

(1)定义一份XML schema为同一类型的所有文档的结构标准;

(2)应用XML schema,一般由文档的作者制定schema,这样接收方可以很快地根据说明对文档进行验证;

(3)运行解析器进行验证,解析器在装载文档的同时扫描结构,遇到任何错误都会终止装载过程,并做出适当的响应。

XML Schema共有8种元素:。这些元素对XML中允许的语法和结构进行了定义,但必须在使用XML Schema前对这些元素进行定义。例如:

(1)〈Schema〉元素

XML Schema文件与其他的XML文档结构非常相似,根元素为〈Schema〉,表明文档类型:

其中属性name指定Schema名称,xmlns指定所属名称空间。第一个xmlns指定全文的缺省名称空间,第二个定义了文档中可使用的数据类型的名称空间。

在XML中引用Schema的方法是在XML文档的根元素中使用名称空间指明Schema文件的URL地址,在URL前加上“x-schema”前缀:

Content属性规定声明的元素是否为空,是否包含文本或子元素,还是两者都有;order指定子元素的排列顺序;model规定了元素中是否可以包含未在Schema定义的元素或属性;dt:type则指定了元素的数据类型。

对于其它6个元素,本文不再一一列举说明。

2 海洋环境数据的XML定义

本文对海洋环境数据的分类定义,主要依据获取手段的不同,针对数据管理者为不同用户提供数据共享服务,满足数据交换需求。对每一类平台获取的海洋环境数据进行的XML定义,主要包括一般数据信息和工作数据信息。一般工作信息主要包括平台信息、工作状态、布放位置/获取数据区域范围、以及在位时间等;工作数据信息主要包括平台监测数据。以小浮标为例,一般工作信息包括小浮标信息、工作状态、布放位置、在位时间等,工作数据信息包括小浮标所搭载的各类传感器监测数据,主要为温、盐、波、流和气象等测量数据。数据结构如图1所示:

图 1 小浮标系统观测的海洋环境数据结构Fig.1 Marine environment data framework of buoy

3 海洋环境数据的XML解析

上述数据结构定义为各类监测数据提供了统一的XML格式定义,数据管理者可通过对数据的解析方便实现不同用户间基于浏览器的数据交换。本文通过XML解析器msxmlchs实现对小浮标获取的海洋环境数据XML的格式解析,同时显示以供用户查看和使用。代码如下:

将上述解析结果提取后,通过JFreechart这一插件进行图形处理,以曲线形式显示在浏览器上。代码如下:

至此,用户可通过浏览器方便查看数据信息,如图2所示,也可以通过下载XML格式数据源文件对数据进行进一步处理,如产品开发等。

图 2 海流剖面数据XML解析曲线显示结果Fig.2 Current profile data XML curve show

4 结 论

随着海洋环境数据获取手段的不断更新和海洋环境数据量的不断增加,如何有效综合利用各类海洋环境测量数据、提供统一的数据交换标准格式,已成为海洋学者和海洋管理者面临的迫切问题。本文通过参考国际现有Marine XML研究成果,并结合我国海洋环境数据实际情况,通过利用XML技术对海洋环境数据的处理,用户利用浏览器可方便的实现对数据的操作,实现了数据的可使用性、易用性,保证了不同系统、不同学科间数据的互操作性。因此,XML技术在应对我国海洋领域中跨学科、跨平台的海洋环境数据交换方面具有广泛的应用价值。

[1]罗续业, 周智海, 曹东, 等.海洋环境立体监测系统的设计方法[J].海洋通报, 2006, 25(4): 69-77.

[2]李彦.基于Web Service 的系统集成技术在海洋监测系统中的应用 [J].海洋技术, 2004, 23(3):55-58.

[3]Heather Williamson.XML 技术大全 [M].北京: 机械工业出版社, 2002.

[4]Charles F G.XML手册 [M].北京: 电子工业出版社, 2005.

Research of XML based processing technology for marine environment data

LI Yan1, WANG Yu-fei2, WANG Xin1, ZHU Rui1

(1.National Ocean Technology Center, Tianjin 300112, China; 2.University of Nottingham, NOTTINGHAM, NG8 1AD, England)

Marine environment data is the basis of ocean science research, application and development.But data sharing is difficult because of the different data format coming from different platforms.Thus, this paper aims to solve the problem that the exchanging-capability for the marine environment data is relatively poor.In this paper, we unify the format of the data by using the XML technology.By analyzing the data of buoy, this paper shows that the XML technology will be applied widely in the exchanging of marine environment data in cross-platform.

XML; marine environment data; interoperability

TP393

A

1001-6932(2011)06-0697-05

2011-06-06;

2011-08-15

海洋公益性项目(200905024)。

李彦(1980-),女,硕士,工程师,从事海洋监测数据集成管理、海上试验检测与评价研究工作,电子邮箱:haqiu.li@gmail.com。

猜你喜欢

浮标文档定义
受了委屈的浮标君
浅谈Matlab与Word文档的应用接口
浅谈浮标灵敏度的判断
有人一声不吭向你扔了个文档
一种浮标位置修正算法*
提问:冬钓轻口鱼如何选择浮标?
基于RI码计算的Word复制文档鉴别
成功的定义
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
修辞学的重大定义