CN102096710A - 基于xml模板的报文分析方法 - Google Patents
基于xml模板的报文分析方法 Download PDFInfo
- Publication number
- CN102096710A CN102096710A CN2011100237225A CN201110023722A CN102096710A CN 102096710 A CN102096710 A CN 102096710A CN 2011100237225 A CN2011100237225 A CN 2011100237225A CN 201110023722 A CN201110023722 A CN 201110023722A CN 102096710 A CN102096710 A CN 102096710A
- Authority
- CN
- China
- Prior art keywords
- label
- attribute
- message
- template
- attribute representation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于XML模板技术的气象要素分析规则,用户通过此规则将各项有效的气象要素动态编写成一套XML模板,分析程序只需分析这套XML模板,即可实现气象要素在报文文件与数据库之间的自动互转。
Description
一、技术领域
本发明针对气象数据在不同存储介质间转换的复杂性,基于XML模板技术,通过定义一套气象要素转换规则,实现气象数据在报文文件与数据库之间进行智能转换。
二、背景技术
目前,软件开发工程师针对气象数据在报文文件与数据库之间进行互转时,通常的做法是:根据指定的报文文件格式,编写对应的解码程序,再将解析后的气象要素转存进数据库,或者根据数据库格式,编写对应的解码程序,将气象数据按指定的报文布局格式转存到报文文件中。这种方法虽然能够按指定要求实现气象数据在不同存储介质间的互转,但转换过程却有一定的局限性,很明显,一旦原始气象数据发生变化,解码程序将不得不作相应更改,导致解码转换程序的可移植性降低,维护成本增加。
三、发明内容
本发明目的是:提出一种基于XML模板技术的气象要素分析规则,转换程序通过解析此规则实现气象数据在报文文件与数据库之间的自动互转,从而将软件工程师从繁重的维护工作中解脱出来。
本发明的技术方案是:依据XML语法建立一套报文模板标记语言(简称MTML),再以MTML标记语言为基础构建气象要素模板规则。
(一)<Mtml>标签
<Mtml>标签在模板开头进行声明,表示本模板须按照MTML语法进行解析。本标签包含“version”和“charset”共2个属性。
1、version属性
version属性表示本模板的版本号,默认值为“1.0”。
2、charset属性
charset属性表示本模板所采用的字符集,默认值为“UTF-8”。
(二)<Head>标签
<Head>标签表示模板的头信息部分,用于辅助说明模板的相关解析信息。本标签包含“schedule”和“cycle”共2个属性。
1、schedule属性
schedule属性表示报文解析的起止时间段,若全天均需解析则本属性置空。
2、cycle属性
cycle属性表示报文解析周期,单位为秒,默认值为“3600”。
(三)<Body>标签
<Body>标签表示模板的主体部分,用于详细阐述模板的主体解析规则。本标签仅包含“onerror”一个属性。
1、onerror属性
onerror属性表示当主体报文分析出错的,系统的跳转状态,有“continue”、“break”和“exit”共3种状态,其中“continue”表示忽略错误,继续向后解析;“break”表示停止向后解析,直接跳转到下一个报文文档;“exit”表示立即退出解析程序。
(四)<File>标签
<File>标签用于设置报文文件的相关说明信息。本标签包含“path”、“filter”和“verify”共3个属性。
1、path属性
path属性表示报文文件的保存路径。
2、filter属性
filter属性表示报文文件序列,用通配符表示。
3、verify属性
verify属性用于验证当前报文是否有效,通常与<Rule>标签结合使用。
(五)<Database>标签
<Database>标签用于设置数据库的相关说明信息。本标签包含“name”、“server”、“user”和“password”共4个属性。
1、name属性
name属性表示数据库的名称。
2、server属性
server属性表示数据库服务器的名称或IP地址。
3、user属性
user属性表示连接数据库的用户名。
4、password属性
password属性表示连接数据库的登录密码。
(六)<Rule>标签
<Rule>标签用于映射扩展程序集的相关功能函数,如验证函数、校正函数等。本标签仅包含“source”一个属性。
1、source属性
source属性表示扩展程序集的完整名称。
(七)<Ignore>标签
<Ignore>标签表示需要被忽略的相关报文,通常用于控制报文指针进行适当的跳转。本标签包含“rows”和“cols”共2个属性。
1、rows属性
rows属性表示待忽略报文的行数。
2、cols属性
cols属性表示待忽略报文的列数。
(八)<Table>标签
<Table>标签用于指明当前报文数据段与数据表之间的映射关系。本标签包含“name”和“tail”共2个属性。
1、name属性
name属性表示数据库表名称。
2、tail属性
tail属性表示报文数据段的结束符。
(九)<Record>标签
<Record>标签用于指明当前报文行与数据行之间的映射关系。本标签包含“tail、“separator”、“warp”和“import”共4个属性。
1、tail属性
tail属性表示报文数据行的结束符。
2、separator属性
separator属性表示数据记录的分隔符,通常用于分隔各气象要素。
3、warp属性
warp属性用于指示当前报文数据行是否需要换行,分“on”和“off”两种,其中“on”表示开启换行标志,“off”表示关闭换行标志。
4、import属性
import属性表示报文解析结果的入库方式,分“insert”和“update”两种,其中“insert”表示按照直接插入方式入库;“update”表示按照更新方式入库。
(十)<Element>标签
<Element>标签是气象要素的基本表达单元,通过本标签来区分不同的气象要素。本标签包含“name”、“title”、“type”、“start”、“length”、“padding”、“iskey”、“isglobal”、“range”、“function”、“illegal”、“instead”、“decimal”、“zone”、“format”、“merge”和“onerror”共17个属性。
1、name属性
name属性表示气象要素的名称。
2、title属性
title属性表示气象要素的标题。
3、type属性
type属性表示气象要素的数据类型,分“int”、“float”、“datetime”和“string”共4种,其中“int”表示整型;“float”表示浮点型;“datetime”表示日期时间型;“string”表示字符串型。
4、start属性
start属性表示气象要素的起始字符位置。
5、length属性
length属性表示气象要素的报文字符长度。
6、padding属性
padding属性表示当报文字符长度不足时需要填充的字符。
7、iskey属性
iskey属性表示当前气象要素是否为数据表主键,分“true”和“false”两种,其中“true”表示当前气象要素为数据表主键,反之用“false”。
8、isglobal属性
isglobal属性表示当前气象要素是否为全局变量,即该要素是否需要在全局使用。
9、range属性
range属性表示当前气象要素的取值范围,即不在取值范围内的数据将被忽略。
10、function属性
function属性用于验证或校正当前气象要素,通常与<Rule>标签结合使用。
11、illegal属性
illegal属性表示报文中的非法值,若有多个非法值,则各非法值之间可用竖线“|”分隔。
12、instead属性
instead属性表示报文中的非法值的替代值,替代值与非法值一样,也需用竖线“|”分隔,且须按序对应。
13、decimal属性
decimal属性表示报文的数据精度,默认值为“1”,本属性仅在type=″float″时有效。
14、zone属性
zone属性表示报文时间的时区,默认值为“8”,即北京时,本属性仅在type=″datetime″时有效。
15、format属性
format属性表示报文时间的时间格式,用于表达年、月、日、时、分等时间要素,本属性仅在type=″datetime″时有效。
16、merge属性
merge属性表示当前要素需要结合全局要素一起使用,通常用于结合全局时间要素。
17、onerror属性
onerror属性表示当前气象要素分析出错时,系统的跳转状态,有“continue”和“break”两种状态,其中“continue”表示忽略错误,继续向后解析;“break”表示停止向后解析,直接跳转到下一个报文数据记录。当当前气象要素分析出错时,如果未设置本属性,则系统按Body.onerror属性进行跳转,如果设置了本属性,则系统按本属性进行优先跳转,则Body.onerror属性失效,即本属性比Body.onerror享有优先权。
四、附图说明
无。
五、具体实施方式
通过分析MTML模板里的气象要素分布规则,对气象报文作对应的解析处理,再将解析结果转存到数据库中,反之,也可根据MTML规则,对数据库中的气象要素进行解析,再将解析结果转存到报文文件中。
(一)构建MTML模板
按照本发明提出的技术方案构建MTML模板。
表1
如表1所示,该样例模板列举了MTML的所有标签及属性,在实际运用中,可根据具体情况对部分标签或属性进行适当的增减、组合,以适应不同的报文分析情况,增强模板的可读性、复用性及可扩展性。
(二)解析MTML模板
通过不同的编程语言编写MTML解析程序,解析出MTML模板中的气象要素分布规则。
(三)转存数据
以解析出的MTML模板规则为依据,分析原始报文文件,将报文文件中的气象要素分析出来,再依据模板规则转存进数据库,或依据模板规则,分析数据库中的气象要素,再转存为目标报文文件。
Claims (3)
1.基于XML模板的报文分析方法依据XML语法建立一套报文模板标记语言,其特征是:用<Mtml>标签及“version”和“charset”属性表示MTML模板标志;用<Head>标签及“schedule”和“cycle”属性表示模板头部标志;用<Body>标签及“onerror”属性表示模板主体标志;用<File>标签及“path”、“filter”和“verify”属性表示报文文件信息标志;用<Database>标签及“name”、“server”、“user”和“password”属性表示数据库信息标志;用<Rule>标签及“source”属性表示扩展程序集标志;用<Ignore>标签及“rows”和“cols”属性表示需要被忽略的报文标志;用<Table>标签及“name”和“tail”属性表示报文数据段与数据表之间的映射关系;用<Record>标签及“tail、“separator”、“warp”和“import”属性表示报文行与数据行之间的映射关系;用<Element>标签及“name”、“title”、“type”、“start”、“length”、“padding”、“iskey”、“isglobal”、“range”、“function”、“illegal”、“instead”、“decimal”、“zone”、“format”、“merge”和“onerror”属性表示气象要素的基本表达单元。
2.根据权利要求1所述的语法规则生成报文分析模板,再通过编写对应的解析程序,解析出模板中的气象要素分布规则,并以此为依据,分析原始报文文件,将报文文件中的气象数据分析出来,最后转存进数据库;或依据模板规则,分析数据库中的气象要素,再转存为目标报文文件。
3.根据权利要求2所述的分析方案即可实现气象要素在报文文件与数据库之间的自动互转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100237225A CN102096710A (zh) | 2011-01-21 | 2011-01-21 | 基于xml模板的报文分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100237225A CN102096710A (zh) | 2011-01-21 | 2011-01-21 | 基于xml模板的报文分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102096710A true CN102096710A (zh) | 2011-06-15 |
Family
ID=44129805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100237225A Pending CN102096710A (zh) | 2011-01-21 | 2011-01-21 | 基于xml模板的报文分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102096710A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605802A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 数据传输装置和数据传输方法 |
CN106201542A (zh) * | 2016-07-14 | 2016-12-07 | 张博 | 一种wof快速开发平台 |
CN110222236A (zh) * | 2016-06-06 | 2019-09-10 | 福建榕基软件股份有限公司 | Xml报文模板的生成及更新方法及其系统 |
-
2011
- 2011-01-21 CN CN2011100237225A patent/CN102096710A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605802A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 数据传输装置和数据传输方法 |
CN110222236A (zh) * | 2016-06-06 | 2019-09-10 | 福建榕基软件股份有限公司 | Xml报文模板的生成及更新方法及其系统 |
CN106201542A (zh) * | 2016-07-14 | 2016-12-07 | 张博 | 一种wof快速开发平台 |
CN106201542B (zh) * | 2016-07-14 | 2020-06-26 | 张博 | 一种wof快速开发平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101694603B (zh) | 基于Unicode的跨平台蒙古文显示及智能输入方法 | |
CN102541730B (zh) | 一种航天器测试脚本语义识别与自动生成方法 | |
US9922009B2 (en) | Network media information display system, method, apparatus and server | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
HRP20030524A2 (en) | Word-processing document stored in a single xml file | |
JP6554791B2 (ja) | 文字入力予測のための情報処理システムおよび情報処理方法 | |
CN103329122A (zh) | 使用多个表示的文档存储 | |
CN102830947A (zh) | 一种基于报表打印模板格式实现的报表打印控件 | |
US8229976B2 (en) | Data binding for XML schemas | |
CN108280056A (zh) | 一种Excel文件解析方法 | |
CN104199871A (zh) | 一种用于智慧教学的高速化试题导入方法 | |
CN104407863A (zh) | 抽象控件模型编程装置和方法 | |
CN103473056A (zh) | 一种遥测配置文件自动生成方法 | |
CN102043762A (zh) | 一种版面比对的方法及装置 | |
CN103530407A (zh) | 一种富文本文档的生成方法与装置 | |
CN106534267A (zh) | 文件上传解析方法及装置 | |
CN110232111A (zh) | 一种文本显示方法、装置及终端设备 | |
CN104298489A (zh) | 一种表单再现的实现方法 | |
CN105630753A (zh) | 一种核电站数字化规程的升级转换方法及系统 | |
CN102915228A (zh) | 菜单工具条整合系统及方法 | |
CN102096710A (zh) | 基于xml模板的报文分析方法 | |
CN106446116A (zh) | 应用于规则引擎中的业务规则参数交互方法及装置 | |
CN103677841B (zh) | 基于元素级模板的ietm的代码生成方法及装置 | |
CN102203734A (zh) | 条件处理方法和设备 | |
CN103049260A (zh) | 一种软件的用户界面在客户端的显示方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Zhou Jun Document name: Notification of before Expiration of Request of Examination as to Substance |
|
DD01 | Delivery of document by public notice |
Addressee: Zhou Jun Document name: Notification that Application Deemed to be Withdrawn |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110615 |