论文部分内容阅读
摘要:本文以防雷装置检测报告的生成为例,采用标记替换的机制,应用数据库与XML文档之间的数据交换技术,研究实现各类报告、报表、清单等对数据库数据的使用及打印方法。
关键词:数据项;数据;数据标记;标记替换
中图分类号:TP274 文献标识码:A文章编号:1007-9599 (2011) 01-0000-02
Study on the Data Use and Print Method Based on Markup Replacement
Zhou Liwei1,Zhang Yuxia2,Shi Feng3,Chang Shengwen3,Hao Mei3
(1.Changji State Meteorological Bureau,Changji831100,China;2.China Mobile Communications Group Co.Ltd.Changji Branch of XinJiang Company,Changji831100,China;3.Changji State Meteorological Bureau,Changji831100,China)
Abstract:Study on the use and print of data,using the technology of Markup replacement and data exchange between database and XML document on the case of lightning protection system check and measure report producing.
Keywords:Data item;Data;Data Markup;Data Markup replacement
防雷装置检测报告是对防雷装置各项技术性能进行评定的文本。根据实际情况,有时需要对部分防雷装置或防雷装置的特定部分进行评定,有时则需要对检测场所全部防雷装置性能进行综合评定,这就要求生成检测报告时,能够根据评定内容,选择性的使用检测数据。另一方面,检测报告形式上也已经形成不同的格式,又要求检测报告能够满足不同格式的需要。针对此类数据使用及打印需要,我们对采用标记替换进行解决的技术方法进行了研究。
一、检测报告生成流程及检测数据的确定
防雷装置检测业务系统中检测报告的生成流程如图1所示。
检测场所防雷装置一次检测业务的检测数据项包括受检单位信息数据项、检测场所信息数据项、组织检测信息数据项、检测项目数据项、检测项目采集数据项五部分。数据项可以分为两部分:一是固定部分,包括受检单位信息数据项、检测场所信息数据项和组织检测信息数据项,对于不同的检测场所,这部分数据项名称都相同,数据项数量固定,只是数据项的数据不同;二是变动部分,包括检测项目数据项和检测项目采集数据项。对于不同的检测场所,检测项目数据项名称和数据项数量都随检测场所的不同而发生变化,检测项目采集数据项名称固定,但数量由检测项目数据项的数量决定。检测数据项一个实例的全部数据项的数据构成一次检测业务的检测数据,检测方案是同类检测场所防雷装置检测项目的总和,从检测报告流程图和以上分析可以看出,选定相应的“检测方案”后,检测场所防雷装置的检测项目也就随之确定,数据库中一次检测业务的检测数据也就确定了。
二、设定检测数据项和数据标识的对应关系
检测数据项和数据标记对应关系的设定在检测数据项和数据标记之间建立“一对一联系”。数据标记由数据标记符和数据标记号两部分组成:本方法中,数据标记符设定为“*##*”,“*#”为数据标记起始符,“#*”为数据标记结束符;数据标记号为1-N的阿拉伯数字,标识号位于标记起始符和结束符之间。针对预先制定的各检测方案,分别进行检测数据项标记设定操作,过程如下:(一)在系统“标记设定”子程序界面“检测方案”树图中选择进行标记设定的检测方案,检测方案相应的检测数据项自动进入标记设定列表的“检测数据项”列。(二)在“标记号”一列,为相应的“检测数据项”逐一输入设定的标记号。(三)点击“保存”,系统自动在标识号上加上标识符,生成相应检测方案检测数据项和数据标记对应关系文件,以配置文件形式保存。检测方案检测数据项和数据标记对应关系文件由检测数据项和数据标记对应关系记录构成,每条记录包含一个检测数据项和一个数据标记的对应关系。对应关系记录由记录号、检测数据项名称和数据标记三项构成,记录号代表检测数据项和数据标记对应关系数量,对应关系数量的确定和检测数据的确定机制相同,随检测方案的确定而确定。
三、制作检测报告模版
检测报告模版是包含数据标记的XML(扩展标记语言)文档。按照对检测场所防雷装置评定的内容和检测报告格式需要,应用XML编辑器,分别编辑制作符合要求的检测模版的内容(由于检测报告主要为各类形式的表格,本方法使用WORD编辑器。),并按照检测数据项和数据标记的对应关系,在需要填写检测数据的位置,写入相应的数据标记。
四、检测数据和数据标记的替换
标记替换操复制模版,用检测数据替换数据标记,生成完整的防雷装置检测报告,加工逻辑用结构化语言描述如清单1所示。
复制包含数据标记的检测报告模版,作为当前检测报告
打开适用的检测方案检测数据项和数据标记对应关系文件
DO WHILE 检测数据项和数据标级对应关系记录记录号<记录数
取记录中检测数据项名称,作为当前检测数据项
根据检测数据项名称的到相应的检测数据,作为当前检测数据
取记录中数据标记,作为当前数据标记
DO WHILE遍历当前检测报告DOM树未结束
对当前访问节点文本值和当前数据标识作比较
IF 当前访问节点文本值=当前数据标记
用当前检测数据替换当前访问节点文本值
ENDIF
ENDDO
ENDDO
保存数据标记全部替换的当前检测报告
清单1.检测数据和标识替换的加工逻辑
生成具体检测场具体时间点检测报告(简称为“当前检测报告”,类似把正在处理的数据项、数据和数据标记分别简称为“当前数据项”、“当前数据”和“当前数据标记”)时,通过“检测场所列表”得到受检测单位名称、检测场所名称、检测时间和应用检测方案,即可确定一次检测数据,依据检测数据项和数据标记对应关系,即可确定每一检测数据和数据标记的对应关系。复制和检测方案相对应的检测报告模版,以“受检单位+检测场所+检测日期+检测报告”为文件名进行检测报告保存,形成包含数据标记的当前检测报告,并可根据实际需要,应用XML编辑器,对检测报告中的数据标记作增、减、移动等进一步调整。
检测报告DOM树的遍历:使用MS XML Parser DOM(文档对象模型)技术,应用递归算法对检测报告XML文档DOM树进行遍历。从根节点开始,依此对树中每个节点做一次访问,访问操作见加工逻辑中所述,遍历的递归算法用过程设计语言(PDL)描述如清单2所示。
PROCEDURETraversal(IXMLDOMDocumentPtr Node)
DECLARE INT ChileNodeCount,I;
DECLAREIXMLDOMNodePtrChildNode;
DECLAREIXMLDOMNodeListPtrXList;
访问当前节点操作;
XList=Node->ChildNodes;
ChildNodeCount=XList->length;
FOR I=1 TO ChildNodeCount;
ChildNode=Node->Getitem(i);
CALL Traversal(ChildNode);
ENDFOR
RETURN
END
清单2.检测报告DOM树的递归遍历算法
遍历和访问操作完成后,对结果保存入检测报告文件,需要时,使用WORD编辑器打开生成的检测报告文件,即可进行检测报告的打印。
五、结语
在防雷检测业务系统的研制过程中,我们应用MFC(微软基础类库)的SDI(单文档接口)应用程序框架内置打印机制,解决各类查询统计报表的打印,应用替换标记的技术方法解决出检单和检测报告的生成及打印问题,通过两种技术方法的结合,解决数据的使用和打印需求,取得了较好的应用效果。
参考文献:
[1]丁跃潮,张涛,叶文来等.XML工程实践.北京:北京大学出版社.2006.1
[2]杨仲江.防雷工程检测审核与验收.南京信息工程大学雷电防护系列教材.2005
作者简介:
周立伟(1971.11-),男,新疆昌吉,本科,工程师,新疆昌吉州气象局,研究方向:计算机、通信、软件。
关键词:数据项;数据;数据标记;标记替换
中图分类号:TP274 文献标识码:A文章编号:1007-9599 (2011) 01-0000-02
Study on the Data Use and Print Method Based on Markup Replacement
Zhou Liwei1,Zhang Yuxia2,Shi Feng3,Chang Shengwen3,Hao Mei3
(1.Changji State Meteorological Bureau,Changji831100,China;2.China Mobile Communications Group Co.Ltd.Changji Branch of XinJiang Company,Changji831100,China;3.Changji State Meteorological Bureau,Changji831100,China)
Abstract:Study on the use and print of data,using the technology of Markup replacement and data exchange between database and XML document on the case of lightning protection system check and measure report producing.
Keywords:Data item;Data;Data Markup;Data Markup replacement
防雷装置检测报告是对防雷装置各项技术性能进行评定的文本。根据实际情况,有时需要对部分防雷装置或防雷装置的特定部分进行评定,有时则需要对检测场所全部防雷装置性能进行综合评定,这就要求生成检测报告时,能够根据评定内容,选择性的使用检测数据。另一方面,检测报告形式上也已经形成不同的格式,又要求检测报告能够满足不同格式的需要。针对此类数据使用及打印需要,我们对采用标记替换进行解决的技术方法进行了研究。
一、检测报告生成流程及检测数据的确定
防雷装置检测业务系统中检测报告的生成流程如图1所示。
检测场所防雷装置一次检测业务的检测数据项包括受检单位信息数据项、检测场所信息数据项、组织检测信息数据项、检测项目数据项、检测项目采集数据项五部分。数据项可以分为两部分:一是固定部分,包括受检单位信息数据项、检测场所信息数据项和组织检测信息数据项,对于不同的检测场所,这部分数据项名称都相同,数据项数量固定,只是数据项的数据不同;二是变动部分,包括检测项目数据项和检测项目采集数据项。对于不同的检测场所,检测项目数据项名称和数据项数量都随检测场所的不同而发生变化,检测项目采集数据项名称固定,但数量由检测项目数据项的数量决定。检测数据项一个实例的全部数据项的数据构成一次检测业务的检测数据,检测方案是同类检测场所防雷装置检测项目的总和,从检测报告流程图和以上分析可以看出,选定相应的“检测方案”后,检测场所防雷装置的检测项目也就随之确定,数据库中一次检测业务的检测数据也就确定了。
二、设定检测数据项和数据标识的对应关系
检测数据项和数据标记对应关系的设定在检测数据项和数据标记之间建立“一对一联系”。数据标记由数据标记符和数据标记号两部分组成:本方法中,数据标记符设定为“*##*”,“*#”为数据标记起始符,“#*”为数据标记结束符;数据标记号为1-N的阿拉伯数字,标识号位于标记起始符和结束符之间。针对预先制定的各检测方案,分别进行检测数据项标记设定操作,过程如下:(一)在系统“标记设定”子程序界面“检测方案”树图中选择进行标记设定的检测方案,检测方案相应的检测数据项自动进入标记设定列表的“检测数据项”列。(二)在“标记号”一列,为相应的“检测数据项”逐一输入设定的标记号。(三)点击“保存”,系统自动在标识号上加上标识符,生成相应检测方案检测数据项和数据标记对应关系文件,以配置文件形式保存。检测方案检测数据项和数据标记对应关系文件由检测数据项和数据标记对应关系记录构成,每条记录包含一个检测数据项和一个数据标记的对应关系。对应关系记录由记录号、检测数据项名称和数据标记三项构成,记录号代表检测数据项和数据标记对应关系数量,对应关系数量的确定和检测数据的确定机制相同,随检测方案的确定而确定。
三、制作检测报告模版
检测报告模版是包含数据标记的XML(扩展标记语言)文档。按照对检测场所防雷装置评定的内容和检测报告格式需要,应用XML编辑器,分别编辑制作符合要求的检测模版的内容(由于检测报告主要为各类形式的表格,本方法使用WORD编辑器。),并按照检测数据项和数据标记的对应关系,在需要填写检测数据的位置,写入相应的数据标记。
四、检测数据和数据标记的替换
标记替换操复制模版,用检测数据替换数据标记,生成完整的防雷装置检测报告,加工逻辑用结构化语言描述如清单1所示。
复制包含数据标记的检测报告模版,作为当前检测报告
打开适用的检测方案检测数据项和数据标记对应关系文件
DO WHILE 检测数据项和数据标级对应关系记录记录号<记录数
取记录中检测数据项名称,作为当前检测数据项
根据检测数据项名称的到相应的检测数据,作为当前检测数据
取记录中数据标记,作为当前数据标记
DO WHILE遍历当前检测报告DOM树未结束
对当前访问节点文本值和当前数据标识作比较
IF 当前访问节点文本值=当前数据标记
用当前检测数据替换当前访问节点文本值
ENDIF
ENDDO
ENDDO
保存数据标记全部替换的当前检测报告
清单1.检测数据和标识替换的加工逻辑
生成具体检测场具体时间点检测报告(简称为“当前检测报告”,类似把正在处理的数据项、数据和数据标记分别简称为“当前数据项”、“当前数据”和“当前数据标记”)时,通过“检测场所列表”得到受检测单位名称、检测场所名称、检测时间和应用检测方案,即可确定一次检测数据,依据检测数据项和数据标记对应关系,即可确定每一检测数据和数据标记的对应关系。复制和检测方案相对应的检测报告模版,以“受检单位+检测场所+检测日期+检测报告”为文件名进行检测报告保存,形成包含数据标记的当前检测报告,并可根据实际需要,应用XML编辑器,对检测报告中的数据标记作增、减、移动等进一步调整。
检测报告DOM树的遍历:使用MS XML Parser DOM(文档对象模型)技术,应用递归算法对检测报告XML文档DOM树进行遍历。从根节点开始,依此对树中每个节点做一次访问,访问操作见加工逻辑中所述,遍历的递归算法用过程设计语言(PDL)描述如清单2所示。
PROCEDURETraversal(IXMLDOMDocumentPtr Node)
DECLARE INT ChileNodeCount,I;
DECLAREIXMLDOMNodePtrChildNode;
DECLAREIXMLDOMNodeListPtrXList;
访问当前节点操作;
XList=Node->ChildNodes;
ChildNodeCount=XList->length;
FOR I=1 TO ChildNodeCount;
ChildNode=Node->Getitem(i);
CALL Traversal(ChildNode);
ENDFOR
RETURN
END
清单2.检测报告DOM树的递归遍历算法
遍历和访问操作完成后,对结果保存入检测报告文件,需要时,使用WORD编辑器打开生成的检测报告文件,即可进行检测报告的打印。
五、结语
在防雷检测业务系统的研制过程中,我们应用MFC(微软基础类库)的SDI(单文档接口)应用程序框架内置打印机制,解决各类查询统计报表的打印,应用替换标记的技术方法解决出检单和检测报告的生成及打印问题,通过两种技术方法的结合,解决数据的使用和打印需求,取得了较好的应用效果。
参考文献:
[1]丁跃潮,张涛,叶文来等.XML工程实践.北京:北京大学出版社.2006.1
[2]杨仲江.防雷工程检测审核与验收.南京信息工程大学雷电防护系列教材.2005
作者简介:
周立伟(1971.11-),男,新疆昌吉,本科,工程师,新疆昌吉州气象局,研究方向:计算机、通信、软件。