CN102646039A - 基于XML Schema的软件界面生成***及方法 - Google Patents

基于XML Schema的软件界面生成***及方法 Download PDF

Info

Publication number
CN102646039A
CN102646039A CN2012100490143A CN201210049014A CN102646039A CN 102646039 A CN102646039 A CN 102646039A CN 2012100490143 A CN2012100490143 A CN 2012100490143A CN 201210049014 A CN201210049014 A CN 201210049014A CN 102646039 A CN102646039 A CN 102646039A
Authority
CN
China
Prior art keywords
xml schema
software interface
module
xml
dom tree
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
Application number
CN2012100490143A
Other languages
English (en)
Inventor
冯钧
盛震宇
韦冕
唐志贤
顾忠国
朱忠华
卞一路
付言章
胥世民
任锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN2012100490143A priority Critical patent/CN102646039A/zh
Publication of CN102646039A publication Critical patent/CN102646039A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于XMLSchema的软件界面生成***及方法,属于信息处理的技术领域。所述软件界面生成***包括依次连接XMLSchema管理模块、XMLSchema解析模块、软件界面生成模块、数据验证及更新模块。所述软件界面生成方法通过XMLSchema管理模块提供的管理界面选择用于生成软件界面的XMLSchema文件;XMLSchema解析模块获取DOM树结构;软件界面生成模块将的DOM树转化为HTMLDOM树结构形成最终的软件界面;数据验证及更新模块用XMLSchema文件验证用户上传的数据。本发明解决了软件界面设计周期长、复用率低、界面代码修改成本过高等问题。

Description

基于XML Schema的软件界面生成***及方法
技术领域
本发明涉及基于XML Schema的软件界面生成***及方法,属于信息处理的技术领域。 
背景技术
信息***作为一种抽象的社会***,因为能及时、可靠、方便地管理海量信息,所以在许多应用领域起着不可替代作用,它已成为人们认识和研究客观世界的重要手段。在应用方面,信息***已在国民经济建设中为国家和各级政府部门提供了大量科学的宏观辅助决策信息,产生了巨大的社会效益。越来越多的领域,如航空航天、气象、海洋、医药、金融、交通以及各种企事业单位都已经或正在将信息***纳入部门产业化应用日程,充分发挥其优势,并与传统的业务技术相结合,使相关业务工作做得更科学、准确和快捷。 
同时,随着社会信息化的进程以及各领域的特殊性,信息***的种类在随之增多。从当初的MIS(管理信息***)发展到现在研究比较热门ERP(企业资源计划)、PLM(产品生命周期***)、GIS(地理信息***)等。它们都是在常规信息***的基础上,融合了本领域的知识结构,形成了具备特定功能的信息***,它们比一般的信息***在处理特定事物上更便捷有效。不过这也随之产生了新的问题,即对***维护的灵活性、可拓展性的要求大大提高。 
目前对于这种情况,软件工程中提出了原型设计法,程序开发中提出了软件复用等技术,在很大程度上解决了需求无法及时确定但依旧完成***开发的问题。但是,对于某些新兴领域,要求***中部分模块变动十分灵活。其中主要是对涉及***交互部分的变动要求较高。如输入界面的不确定性就很复杂,往往***开发了很久,又加入新的需求,使得界面上很多代码又要重新修改。 
在传统***的开发中,界面的设计规划及完成依赖于团队中的美工。通常的做法是根据需求分析中用户的要求,将界面对应的HTML代码事先在客户端服务器写定,然后服务器端的程序由其他人负责完成。最后需要将前后衔接起来,实现从前台到服务器端再到前台的一个工作流程。后台开发目前有SSH框架支持,在很大程度上做到了软件复用,对***的扩展具有很好的支持性。但是前台的可拓展性却很难做到,如果需求变更,界面需要修改,则需要美工对照需求,逐行 地修改前台中的HTML代码,十分繁琐。往往花费大量的人力物力还难以达到要求,得不偿失。因此,我们希望有一种方法可以通过较小代价实现界面的生成,同时尽量不通过美工就能实现对界面的修改。 
发明内容
本发明针对现有信息***界面开发中修改代价大的不足,提出了基于XMLSchema的软件界面生成***及方法,通过解析XML Schema DOM结构来动态生成界面上的HTMLDOM结构,从而实现了信息***中界面自动生成、灵活修改的目标,同时通过XML Schema可以很方便的对数据进行验证。 
本发明为实现上述发明目的采用如下技术方案: 
基于XML Schema的软件界面生成***,包括XML Schema管理模块、XMLSchema解析模块、软件界面生成模块、数据验证及更新模块、客户端服务器,其中:所述XML Schema管理模块、XML Schema解析模块、软件界面生成模块、数据验证及更新模块依次连接,所述XML Schema管理模块的数据接口、软件界面生成模块的数据接口分别与服务器连接,所述XML Schema管理模块、数据验证及更新模块都与数据库交互; 
所述XML Schema管理模块用于在客户端服务器生成管理界面供用户增加、删除、修改、查询保存在数据库中的XML Schema文件,选择用于生成软件界面的XML Schema文件,以列表形式表示数据库中已保存的XML Schema文件信息; 
所述XML Schema解析模块用于读取XML Schema管理模块所选择的用于生成软件界面的XML Schema文件,记录XML Schema文件所对应的DOM树结构以及DOM树每个节点的信息; 
所述软件界面生成模块用于将XML Schema解析模块中XML Schema文件所对应的DOM树结构转换为HTML DOM树结构; 
所述数据验证及更新模用于将软件界面生成模块得到的数据封装成XML文档,然后用生成软件界面的XML Schema文件对所述XML文档进行验证,并将通过验证的XML文档存储到数据库,对未通过的XML文档返回错误信息; 
所述客户端服务器用于显示XML Schema管理模块生成的管理界面以及软件界面生成模块生成的软件界面,将用户对XML Schema文件的操作信息返回给XML Schema管理模块,将用户填写在管理界面的数据返回给数据验证及更新模 块。 
基于XML Schema的软件界面生成方法,包括如下步骤: 
步骤1,XML Schema管理模块在客户端服务器上显示管理界面,用户在管理界面完成对XML Schema文件的操作,显示选择用于生成软件界面的XML Schema文件; 
步骤2,XML Schema解析模块读取XML Schema管理模块所选择的用于生成软件界面的XML Schema文件,记录XML Schema DOM树结构以及DOM树每个节点的信息; 
步骤3,软件界面生成模块将XML Schema解析模块中XML Schema DOM树结构转换为HTML DOM树结构,并将HTML DOM对应的软件界面显示在客户端服务器上; 
步骤4,数据验证及更新模块先将用户填写在步骤3所生成的软件界面上的数据封装成XML文档,然后用生成软件界面的XML Schema文件对所述XML文档进行验证, 
若所述XML文档通过XML Schema验证,数据验证及更新模块将XML文档保存至数据库; 
若所述XML文档没有通过XML Schema验证,数据验证及更新模块显示错误信息。 
所述基于XML Schema的软件界面生成方法中,步骤2的具体实施步骤如下: 
步骤2-1,XML Schema解析模块读取的当前XML Schema元素获取XML Schema元素对应的DOM树节点信息; 
步骤2-2,软件界面生成模块定位当前XML Schema元素对应的DOM树节点在HTML DOM树中所对应的位置; 
若XML Schema元素类型是复杂数据类型,软件界面生成模块根据步骤2-1所获取的DOM树节点信息在HTML DOM树中XML Schema元素所对应的位置创建一个表格元素,对表格元素的各属性赋值添加正确的CSS信息;转向步骤2-3; 
若XML Schema元素类型是简单数据类型,软件界面生成模块根据步骤2-1所获取的DOM树节点信息在HTML DOM树中XML Schema元素所对应的位置 创建一个下拉列表,并为下拉列表添加正确的CSS信息,转向步骤2-4; 
若XML Schema元素类型是基本数据类型,软件界面生成模块根据步骤2-1所获取的DOM树节点信息在HTML DOM树中XML Schema元素所对应的位置创建一个表单,并为表单添加正确的CSS信息,转向步骤2-4; 
步骤2-3,若当前XML Schema元素对应的DOM树节点有未处理的子节点,返回步骤2-2;否则,进入步骤2-4; 
步骤2-4,若当前XML Schema元素对应的DOM树节点有未处理的兄弟节点,返回步骤2-2;否则,进入步骤2-5; 
步骤2-5,若当前XML Schema元素对应的DOM树节点有未处理的父节点,返回步骤2-4;否则,将HTML DOM对应的界面显示在客户端服务器,结束步骤2。 
本发明采用上述技术方案,具有以下有益效果:采用XML Schema记录界面信息省去了大量的界面代码,便于界面的复用;通过修改XML Schema文件动态生成HTML DOM树,灵活修正生成的软件界面。 
附图说明
图1为基于XML Schema的软件界面生成***的示意图。 
图2为基于XML Schema的软件界面生成方法的流程图。 
图3为XML Schema解析模块根据DOM树结构映射得到HTML DOM树结构的流程图。 
图4为XML Schema的DOM树模型。 
图5为元数据管理***中的深度优先遍历的流程图。 
具体实施方式
下面结合附图对发明的技术方案进行详细说明: 
XML Schema是定义XML文档的合法构建模块,类似DTD。本文所述XML Schema是根据用户需求分析,专门针对软件界面结构、样式及数据正确标准所设计的。其中,Schema的树状结构与软件界面的结构相对应,属性中分别定义了软件界面元素的名称、显示值、CSS信息、数据约束标准及注释信息等。 
如图1所示的基于XML Schema的软件界面生成***,包括依次连接的XML Schema管理模块、XML Schema解析模块、软件界面生成模块、数据验证及更新模块,XML Schema管理模块的数据接口、数据验证及更新模块的数据接口分 别与服务器连接,XML Schema管理模块与数据验证及更新模块分别与数据库进行交互。 
XML Schema管理模块提供用于管理XML Schema文件的管理界面,管理界面显示在客户端服务器上。用户在管理界面对XML Schema文件进行增加、删除、修改、查阅的操作,这些XML Schema文件既用于软件界面的生成也用于数据的验证。XML Schema管理模块提供的管理界面显示所有已上传数据的XMLSchema文件的信息列表。 
XML Schema解析模块用于读取XML Schema管理模块所选择的XMLSchema文件,获取并保存XML Schema DOM树结构以及每个DOM树节点的样式描述信息。 
软件界面生成模块根据XML Schema解析模块获得的XML Schema DOM树结构以及DOM树节点的样式描述信息,建立从XML Schema DOM树结构到HTML DOM树结构的映射,生成描述HTML DOM树的代码,同时为每一个HTML DOM树节点添加CSS信息。HTML DOM树结构的软件界面显示在客户端服务器上。 
数据验证及更新模块用于将用户上传的数据封装成XML文档,用生成软件界面的的XML Schema文件进行验证,同时将通过验证的数据保存至数据库,未通过验证的部分返回其错误信息。用户通过在客户端服务器显示的管理界面上填写数据来上传数据。 
客户端服务器用于显示XML Schema管理模块生成的管理界面以及软件界面生成模块生成的软件界面(即为HTML DOM树结构的软件界面),将用户对XML Schema文件的操作信息返回给XML Schema管理模块,将用户填写在管理界面的数据返回给数据验证及更新模块。 
XML Schema的DOM树结构如图4所示,DOM树的根节点为<xs:shema>,其下有三种子节点:复杂类型节点<xs:complexType>、简单类型节点<xs:simpleType>和元素节点<xs:element>。 
根节点<xs:shema>有四个属性:xmlns:xs表示元素所引用的命名空间;xmlns:tab是自定义的属性,用来定义元素排版在哪个Tab页;elementFormDefault用来定义XML文档中出现的元素是否需要引用名空间前缀,qualified表示需要 引用名空间前缀;attributeFormDefault用来定义XML文档中出现的属性是否需要引用名空间前缀,unqualified表示不需要引用名空间前缀。完整的根节点表示形式如下: 
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
xmlns:tab=″http://www.hhu.edu.cn″elementFormDetault=″qualitied″ 
attributeFormDefault=″unqualified″>。 
元素节点<xs:element>有六个属性:name定义了元素的名字;type定义了元素的类型,将来以该类型验证元素的内容是否合乎规范;id定义了元素的唯一标示;minOccurs定义了元素的最小出现次数,0表示该元素在XML文档中可以不出现;maxOccurs定义了元素的最大出现次数,unbounded表示该元素在XML文档中可以出现无数次;tab:tabNO是开发者自定义的属性,用来定义元素排版在哪个Tab页,引用了自定义的名空间。元素节点还有内嵌的子元素:注释节点<xs:annotation>,注释节点<xs:annotation>里面还有内嵌子元素文本注释节点<xs:documentation>,文本注释节点<xs:documentation>用纯文本记录了注释信息。完整的元素节点表示形式如下: 
Figure BDA0000139402050000061
基本类型元素节点是***中最基本数据所对应的Schema结构,它直接与基本数据对应。这里的基本数据通常是非枚举型的,一般是字符串类型、整型等,比如用户姓名、电话号码之类的数据。 
简单类型元素节点<xs:simpleType>是***中枚举型的基本数据所对应的Schema结构,它是将一些存在枚举值的数据实现做好其取值列表存于Schema中。当用Schema验证时,只有取这些枚举值的数据才能通过验证。<xs:simpleType>有一个属性name,定义了该类型的名字。<xs:simpleType>的子元素<xs:restriction>,它用来定义这种简单元素的取值,其中有一个属性base,它 规定了该简单元素取值的类型,xs:string表示取值为字符串型。<xs:enumeration>定义了简单类型中取值的枚举值列表,其中的属性value表示具体的值,id表示该枚举值的唯一标示。完整的简单类型节点表示形式如下: 
Figure BDA0000139402050000071
复杂类型元素节点<xs:complexType>是***中的基本数据经过分类抽象出的一类数据。这些数据通常不是用户直接需要的,但是对于基本数据量较大时,为了在界面上清楚的显示,就添加了这类数据。复杂类型元素节点下一定包含了其类别所代表的子元素。<xs:complexType>有一个属性name,定义了该类型的名字。在复杂类型的下面有子元素<xs:sequence>,它定义其下子元素在XML文档中出现的顺序。<xs:sequence>下面定义的元素都是这种复杂类型的元素所包含的子元素,而子元素的定义和一般元素的定义相同,不再赘述。完整的复杂类型节点表示形式如下: 
Figure BDA0000139402050000072
下面以卫星遥感数据元数据管理***为例说明软件界面的生成方法。基于XML Schema的软件界面生成方法如图2所示的流程图,包括XML Schema管理、XML Schema解析及软件界面生成、数据验证及更新三大部分。 
第一部分:XML Schema管理,包括如下步骤: 
步骤1,用户通过客户端服务器上传XML Schema文件至XML Schema管理模块,并提供增删改查等功能。 
若选择上传新XML Schema文件,XML Schema管理模块读取新XML Schema文件并将其保存至数据库;若选择删除XML Schema文件,XML Schema管理模块根据所选择要删除的XML Schema文件的ID号到数据库中删除相应的XML Schema文件;若选择修改XML Schema文件,XML Schema管理模块提供修改界面供用户进行修改,再用修改后的XML Schema文件替换数据库中原来的XML Schema文件;若选择查看XML Schema文件,XML Schema管理模块根据所选择要查看的XML Schema文件的ID号到数据库中读取XML Schema文件的文本内容并将读取的信息显示到客户端服务器上。 
XML Schema管理模块选择操作XML Schema文件后,从数据库中读取XMl Schema信息,然后以列表形式将详细信息显示在客户端服务器上,并将选中的XML Schema文件传至XML Schema解析模块。 
数据库设计时,元数据整体设计为CLOB类型存储于数据库中(本***采用ORACLE数据库,CLOB类型是该数据库软件中支持的一种大字符串类型数据,用来存储XML文档),数据表设计与实现如表1所示: 
Figure BDA0000139402050000081
表1 
第二部分:XML Schema解析及软件界面生成,XML Schema是根据用户需求制定的一个控制XML文档样式的模板,在这里也就是作为元数据录入界面样 式的模板和验证其格式的模板。元数据管理***,需要根据设计好的Schema,通过解析它,根据其中的元素约束生成一个动态的界面。鉴于业务需求及用户群的不断扩大,Schema是不断变化的,所以软件界面生成部分不能是固定不变的,必须能够根据Schema样式的不同而产生不同的界面,以满足需求。这就需要充分调用DHTML的特性,建立一个可变化的HTML界面,具体包括如下步骤: 
步骤2,如图3所示,XML Schema解析模块负责解析XML Schema管理模块所选中的XML Schema文件,读取并记录下XML Schema DOM树结构以及每一个节点的属性信息。软件界面生成模块根据XML Schema解析模块获取的DOM树节点信息按照映射关系,逐个生成HTML DOM中的节点,具体包括如下步骤: 
步骤2-1,XML Schema解析模块读取XML Schema管理模块所选中的XML Schema文件到内存,然后以深度优先的顺序建立XML Schema DOM树与HTML DOM树的映射关系(也可以是其它定义好的映射关系)。由软件界面生成模块在前台页面相应位置生成界面所对应的HTML DOM树的根元素。接着由XML Schema解析模块从XML Schema DOM树的根元素开始,采用深度优先遍历其每一个节点; 
深度优先遍历流程如图5所示,首先获得待搜索元素的元素名和id号,然后进行初始化工作,将存储遍历序号的变量element_NO赋值为-1,计数变量count赋值为-1。接着找到第一个Tab节点,以其为根节点进行深度优先遍历。若找到同名元素,则count加1,若找到同名、id也相同的元素,则返回最上层,将遍历序号传回调用该函数的地方。若Tab1节点下没有找到待搜索元素,则找寻下一个Tab节点,操作过程和之前一样。由于要搜索的元素一定存在于DOM树中,所以必然会在某个Tab节点的分支下找到该元素,并返回深度优先遍历的序号。 
步骤2-2,对于当前解析模块读取的XML Schema元素,由软件界面生成模块定位到其在HTML DOM树中所对应的位置; 
若该元素类型是complexType,转向步骤2-3; 
若该元素类型是simpleType,转向步骤2-4; 
若该元素类型是基本类型,转向步骤2-5; 
步骤2-3,在界面生成模块所定位到的正确位置创建一个表格元素(此处创 建的HTML元素通常是表格,主要用于界面元素的分类。也可以是别的HTML元素,实际情况由需求决定)。界面生成模块根据解析模块读取Schema节点中的各属性信息(包括元素的ID、NAME、取值限制、CSS信息),对刚创建的表格元素的各属性赋值并添加CSS信息;转向步骤2-6; 
步骤2-4,界面生成模块在所定位到的正确位置,根据simpleType定义生成一个相应的下拉列表,将解析模块读取的simpleType中定义的枚举值依次填充到下拉列表的每一个选项,界面生成模块根据解析模块读取Schema节点中的各属性信息(包括元素的ID、NAME、取值限制、CSS信息),对刚创建的表格元素的各属性赋值并添加CSS信息;转向步骤2-7; 
步骤2-5,界面生成模块在所定位到的正确位置,根据基本类型的定义生成一个普通的表单(此处的表单形式可以多样,支持自定义表单样式,依据需求设置),界面生成模块根据解析模块读取Schema节点中的各属性信息(包括元素的ID、NAME、取值限制、CSS信息),对刚创建的表格元素的各属性赋值并添加CSS信息;转向步骤2-7; 
步骤2-6,解析模块判断当前处理的XML Schema元素是否有未处理的子节点;若有,访问其子节点,转向步骤2-2;否则,转向步骤2-7; 
步骤2-7,解析模块判断当前处理的XML Schema元素是否有下一个未处理的兄弟元素;若有,访问其兄弟元素,转向步骤2-2;否则,转向步骤2-8; 
步骤2-8,解析模块判断当前元素是否有父节点,若有,返回到其父元素,转向步骤2-7;否则,步骤2结束。 
在元数据管理***中,由于HTML元素个数的不确定,所以***中采用自增类型的整数来标示每一个HTML元素,即在每个元素中增加一个ID属性,其值为自增型整数。并且这些元素中的ID是按照元素创建的先后顺序赋值的,也就是说先创建的元素,其ID值较小,后创建的元素的ID值较大。 
同时,在这个***中,元数据注册界面都放在<form>标签中,其名字为Mytabshow。<form>下直接相连的几个<table>是按照Tab页设置的,其中的id为tab页的值。每个<table>中的元素是按Schema设置的,其name值与Schema中元素的name值相同。加减按钮的id也为整型数,不过是递减的,避免和输入元素重复。 
根据需求分析,最终的HTML DOM树与XML DOM树之间的元素必然是一一对应的,也就是说如果我们对这两棵树同时采用深度优先顺序遍历,那么两棵树中相对应的那两个元素在深度优先遍历中的顺序一定相同。HTML DOM树和XML DOM树中每一个元素的深度优先顺序是一致的,而其它信息则无法实现对应关系。因为即使名称相同,但是由于同一个名称的元素可以反复出现,且它们可以出现在不同的父元素下,所以只能通过找出每个元素在DOM树中的深度优先遍历顺序,才能建立映射关系。 
第三部分:数据验证及更新,对于XML文档的验证采用的是DOM4J,需要先创建错误处理器,加载XML文档对象,设置解析器所用的XML Schema文件以及其特定属性。然后根据之前的设置对XML文档对象进行验证,并将错误结果返回包括如下步骤: 
步骤3-1,数据验证及更新模块将管理界面上传的数据封装成XML文档; 
步骤3-2,服务器端需要创建错误处理器,加载XML文档对象,设置解析器所用的XML Schema文件以及其特定属性。然后根据之前的设置对XML文档对象进行验证,并将错误结果返回; 
步骤3-3,数据验证及更新模块将验证结果返回,映射到每一个元素上,对错标记可以自己定义; 
步骤3-4,XML文档存入数据库中:将存储XML文档对象的字段置空,将数据库中的XML字段放入一个缓冲流中;通过缓冲流将要存储的字符串存入数据库的相应字段中; 
步骤3-5,根据XML Schema及管理界面所填数据重新生成软件界面,用户填完数据后转步骤3-1。 
对于整个***而言,如果因为需求的变化,界面需要做修改时,只要把XMLSchema中的元素做相应的调整(如增加或删除界面上的某个控件,就对应于增加或删除Schema文件中某个元素;调换界面上某些控件的位置,就对应为调整Schema文件中某些元素的位置),而不需要管HTML代码与CSS是如何配合的,更不需要管代码中的HTML元素对应界面上哪一个控件。这样对于界面的修改就转换为对XML Schema的修改。 

Claims (3)

1.基于XML Schema的软件界面生成***,其特征在于,包括XML Schema管理模块、XML Schema解析模块、软件界面生成模块、数据验证及更新模块、客户端服务器,其中:所述XML Schema管理模块、XML Schema解析模块、软件界面生成模块、数据验证及更新模块依次连接,所述XML Schema管理模块的数据接口、软件界面生成模块的数据接口分别与服务器连接,所述XML Schema管理模块、数据验证及更新模块都与数据库交互;
所述XML Schema管理模块用于在客户端服务器生成管理界面供用户增加、删除、修改、查询保存在数据库中的XML Schema文件,选择用于生成软件界面的XML Schema文件,以列表形式表示数据库中已保存的XML Schema文件信息;
所述XML Schema解析模块用于读取XML Schema管理模块所选择的用于生成软件界面的XML Schema文件,记录XML Schema文件所对应的DOM树结构以及DOM树每个节点的信息;
所述软件界面生成模块用于将XML Schema解析模块中XML Schema文件所对应的DOM树结构转换为HTML DOM树结构;
所述数据验证及更新模用于将软件界面生成模块得到的数据封装成XML文档,然后用生成软件界面的XML Schema文件对所述XML文档进行验证,并将通过验证的XML文档存储到数据库,对未通过的XML文档返回错误信息;
所述客户端服务器用于显示XML Schema管理模块生成的管理界面以及软件界面生成模块生成的软件界面,将用户对XML Schema文件的操作信息返回给XML Schema管理模块,将用户填写在管理界面的数据返回给数据验证及更新模块。
2.基于XML Schema的软件界面生成方法,其特征在于包括如下步骤:
       步骤1,XML Schema管理模块在客户端服务器上显示管理界面,用户在管理界面完成对XML Schema文件的操作,显示选择用于生成软件界面的XML Schema文件;
步骤2,XML Schema解析模块读取XML Schema管理模块所选择的用于生成软件界面的XML Schema文件,记录XML Schema DOM树结构以及DOM树每个节点的信息;
步骤3,软件界面生成模块将XML Schema解析模块中XML Schema DOM树结构转换为HTML DOM树结构,并将HTML DOM对应的软件界面显示在客户端服务器上;
    步骤4,数据验证及更新模块先将用户填写在步骤3所生成的软件界面上的数据封装成XML文档,然后用生成软件界面的XML Schema文件对所述XML文档进行验证,
若所述XML文档通过XML Schema验证,数据验证及更新模块将XML文档保存至数据库;
       若所述XML文档没有通过XML Schema验证,数据验证及更新模块显示错误信息。
3.根据权利要求2所述的基于XML Schema的软件界面生成方法,其特征在于所述步骤2的具体实施步骤如下:
       步骤2-1,XML Schema解析模块读取的当前XML Schema元素获取XML Schema元素对应的DOM树节点信息;   
步骤2-2,软件界面生成模块定位当前XML Schema元素对应的DOM树节点在HTML DOM树中所对应的位置;
若XML Schema元素类型是复杂数据类型,软件界面生成模块根据步骤2-1所获取的DOM树节点信息在HTML DOM树中XML Schema元素所对应的位置创建一个表格元素,对表格元素的各属性赋值添加正确的CSS信息;转向步骤2-3;
若XML Schema元素类型是简单数据类型,软件界面生成模块根据步骤2-1所获取的DOM树节点信息在HTML DOM树中XML Schema元素所对应的位置创建一个下拉列表,并为下拉列表添加正确的CSS信息,转向步骤2-4;
若XML Schema元素类型是基本数据类型,软件界面生成模块根据步骤2-1所获取的DOM树节点信息在HTML DOM树中XML Schema元素所对应的位置创建一个表单,并为表单添加正确的CSS信息,转向步骤2-4;
步骤2-3,若当前XML Schema元素对应的DOM树节点有未处理的子节点,返回步骤2-2;否则,进入步骤2-4;
步骤2-4,若当前XML Schema元素对应的DOM树节点有未处理的兄弟节点,返回步骤2-2;否则,进入步骤2-5;
步骤2-5,若当前XML Schema元素对应的DOM树节点有未处理的父节点,返回步骤2-4;否则,将HTML DOM对应的界面显示在客户端服务器,结束步骤2。
CN2012100490143A 2012-02-29 2012-02-29 基于XML Schema的软件界面生成***及方法 Pending CN102646039A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100490143A CN102646039A (zh) 2012-02-29 2012-02-29 基于XML Schema的软件界面生成***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100490143A CN102646039A (zh) 2012-02-29 2012-02-29 基于XML Schema的软件界面生成***及方法

Publications (1)

Publication Number Publication Date
CN102646039A true CN102646039A (zh) 2012-08-22

Family

ID=46658869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100490143A Pending CN102646039A (zh) 2012-02-29 2012-02-29 基于XML Schema的软件界面生成***及方法

Country Status (1)

Country Link
CN (1) CN102646039A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019685A (zh) * 2012-11-20 2013-04-03 北京思特奇信息技术股份有限公司 一种基于页面元素动态生成业务界面的***及方法
WO2014117507A1 (zh) * 2013-01-30 2014-08-07 中兴通讯股份有限公司 一种多模块管理的方法和装置
CN104239073A (zh) * 2014-10-15 2014-12-24 中国科学院软件研究所 一种数据维护***快速原型开发***及方法
CN104267998A (zh) * 2014-10-13 2015-01-07 上海交通大学 基于滑动窗技术的硬件xml解析器
CN104346466A (zh) * 2014-11-12 2015-02-11 中国建设银行股份有限公司 数据库中添加新属性数据的方法和装置
CN104391928A (zh) * 2014-11-21 2015-03-04 用友软件股份有限公司 动态构建多维模型定义的装置和方法
CN104462090A (zh) * 2013-09-13 2015-03-25 方正信息产业控股有限公司 数据处理方法与装置
CN104461513A (zh) * 2014-11-21 2015-03-25 山东航天信息有限公司 一种生成表单界面的方法及装置
CN105302789A (zh) * 2015-12-03 2016-02-03 万达信息股份有限公司 一种卫生信息共享文档模板缓冲存储的编辑方法
CN105468366A (zh) * 2015-11-21 2016-04-06 成都飞机工业(集团)有限责任公司 一种基于Qt地面站的智能界面
CN106326488A (zh) * 2016-09-07 2017-01-11 国家电网公司 一种基于xml的输变电设备状态数据交换适配器及其使用方法
CN106371844A (zh) * 2016-08-31 2017-02-01 北京奇艺世纪科技有限公司 一种用原生用户界面组件展示网页的方法及***
CN107798001A (zh) * 2016-08-29 2018-03-13 阿里巴巴集团控股有限公司 网页处理方法、装置及设备
CN107995310A (zh) * 2017-12-19 2018-05-04 上海贝贝鱼信息科技有限公司 针对不同金融机构提供在线金融服务的云平台、***及方法
CN108959095A (zh) * 2018-07-12 2018-12-07 中国工程物理研究院计算机应用研究所 基于XML Schema验证XML文档的方法
CN109753285A (zh) * 2018-12-26 2019-05-14 浙江大学 一种基于fpga的xml解析器、可重构计算***
CN110515613A (zh) * 2019-08-30 2019-11-29 苏州中弘软件技术有限公司 软件开发方法
CN110928540A (zh) * 2018-09-19 2020-03-27 北京国双科技有限公司 一种页面生成方法及装置
CN112749180A (zh) * 2021-01-19 2021-05-04 上海复佳信息科技有限公司 数据管理方法、电子设备及计算机可读存储介质
CN115442204A (zh) * 2022-08-26 2022-12-06 上海哈恩德技术开发有限公司 一种用于确定枚举取值的方法、设备、介质及程序产品
CN117519703A (zh) * 2024-01-03 2024-02-06 山东街景智能制造科技股份有限公司 一种操作界面的定制化管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008060050A1 (en) * 2006-11-14 2008-05-22 Electronics And Telecommunications Research Institute Apparatus and method for parsing domain profile in software communication architecture
CN101986303A (zh) * 2010-10-29 2011-03-16 广东星海数字家庭产业技术研究院有限公司 应用dom解析引擎的数字电视hsml解析方法及***
CN102043622A (zh) * 2010-12-14 2011-05-04 成电汽车电子产业园(昆山)有限公司 一种电子控制器基础软件通用配置器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008060050A1 (en) * 2006-11-14 2008-05-22 Electronics And Telecommunications Research Institute Apparatus and method for parsing domain profile in software communication architecture
CN101986303A (zh) * 2010-10-29 2011-03-16 广东星海数字家庭产业技术研究院有限公司 应用dom解析引擎的数字电视hsml解析方法及***
CN102043622A (zh) * 2010-12-14 2011-05-04 成电汽车电子产业园(昆山)有限公司 一种电子控制器基础软件通用配置器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄洪 等: "一种图形用户界面的XML描述方法与工具开发", 《计算机应用与软件》 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019685B (zh) * 2012-11-20 2016-07-13 北京思特奇信息技术股份有限公司 一种基于页面元素动态生成业务界面的***及方法
CN103019685A (zh) * 2012-11-20 2013-04-03 北京思特奇信息技术股份有限公司 一种基于页面元素动态生成业务界面的***及方法
WO2014117507A1 (zh) * 2013-01-30 2014-08-07 中兴通讯股份有限公司 一种多模块管理的方法和装置
CN103971189B (zh) * 2013-01-30 2017-07-04 中兴通讯股份有限公司 一种多模块管理的方法和装置
CN104462090A (zh) * 2013-09-13 2015-03-25 方正信息产业控股有限公司 数据处理方法与装置
CN104267998A (zh) * 2014-10-13 2015-01-07 上海交通大学 基于滑动窗技术的硬件xml解析器
CN104267998B (zh) * 2014-10-13 2017-04-19 上海交通大学 基于滑动窗技术的硬件xml解析器
CN104239073A (zh) * 2014-10-15 2014-12-24 中国科学院软件研究所 一种数据维护***快速原型开发***及方法
CN104239073B (zh) * 2014-10-15 2017-05-03 中国科学院软件研究所 一种数据维护***快速原型开发***及方法
CN104346466A (zh) * 2014-11-12 2015-02-11 中国建设银行股份有限公司 数据库中添加新属性数据的方法和装置
CN104346466B (zh) * 2014-11-12 2018-03-23 中国建设银行股份有限公司 数据库中添加新属性数据的方法和装置
CN104391928B (zh) * 2014-11-21 2018-08-28 用友网络科技股份有限公司 动态构建多维模型定义的装置和方法
CN104461513A (zh) * 2014-11-21 2015-03-25 山东航天信息有限公司 一种生成表单界面的方法及装置
CN104391928A (zh) * 2014-11-21 2015-03-04 用友软件股份有限公司 动态构建多维模型定义的装置和方法
CN104461513B (zh) * 2014-11-21 2018-01-09 山东航天信息有限公司 一种生成表单界面的方法及装置
CN105468366A (zh) * 2015-11-21 2016-04-06 成都飞机工业(集团)有限责任公司 一种基于Qt地面站的智能界面
CN105302789A (zh) * 2015-12-03 2016-02-03 万达信息股份有限公司 一种卫生信息共享文档模板缓冲存储的编辑方法
CN105302789B (zh) * 2015-12-03 2018-06-26 万达信息股份有限公司 一种卫生信息共享文档模板缓冲存储的编辑方法
CN107798001B (zh) * 2016-08-29 2022-03-22 菜鸟智能物流控股有限公司 网页处理方法、装置及设备
CN107798001A (zh) * 2016-08-29 2018-03-13 阿里巴巴集团控股有限公司 网页处理方法、装置及设备
CN106371844B (zh) * 2016-08-31 2019-10-22 北京奇艺世纪科技有限公司 一种用原生用户界面组件展示网页的方法及***
CN106371844A (zh) * 2016-08-31 2017-02-01 北京奇艺世纪科技有限公司 一种用原生用户界面组件展示网页的方法及***
CN106326488A (zh) * 2016-09-07 2017-01-11 国家电网公司 一种基于xml的输变电设备状态数据交换适配器及其使用方法
CN107995310A (zh) * 2017-12-19 2018-05-04 上海贝贝鱼信息科技有限公司 针对不同金融机构提供在线金融服务的云平台、***及方法
CN108959095A (zh) * 2018-07-12 2018-12-07 中国工程物理研究院计算机应用研究所 基于XML Schema验证XML文档的方法
CN108959095B (zh) * 2018-07-12 2021-11-23 中国工程物理研究院计算机应用研究所 基于XML Schema验证XML文档的方法
CN110928540A (zh) * 2018-09-19 2020-03-27 北京国双科技有限公司 一种页面生成方法及装置
CN109753285A (zh) * 2018-12-26 2019-05-14 浙江大学 一种基于fpga的xml解析器、可重构计算***
CN109753285B (zh) * 2018-12-26 2023-07-04 浙江大学 一种基于fpga的xml解析器、可重构计算***
CN110515613A (zh) * 2019-08-30 2019-11-29 苏州中弘软件技术有限公司 软件开发方法
CN112749180A (zh) * 2021-01-19 2021-05-04 上海复佳信息科技有限公司 数据管理方法、电子设备及计算机可读存储介质
CN115442204A (zh) * 2022-08-26 2022-12-06 上海哈恩德技术开发有限公司 一种用于确定枚举取值的方法、设备、介质及程序产品
CN117519703A (zh) * 2024-01-03 2024-02-06 山东街景智能制造科技股份有限公司 一种操作界面的定制化管理方法
CN117519703B (zh) * 2024-01-03 2024-04-05 山东街景智能制造科技股份有限公司 一种操作界面的定制化管理方法

Similar Documents

Publication Publication Date Title
CN102646039A (zh) 基于XML Schema的软件界面生成***及方法
CN105849726B (zh) 用于高效地支持通过分层标记数据的即席查询的通用索引
Schram et al. MySQL to NoSQL: data modeling challenges in supporting scalability
CN101976235B (zh) 基于动态网页的可扩展的Word报告自动生成方法
US9489366B2 (en) Interactive synchronization of web data and spreadsheets
CN102200977B (zh) 多租户环境下扩展数据库表的方法和***
US20140297680A1 (en) Analyzing multiple data streams as a single data object
US8423521B2 (en) Method and apparatus for storing document data in docbase management system
CN102917009B (zh) 一种基于云计算技术的股票数据采集和存储方法和***
CN102982010A (zh) 提取文档结构的方法和装置
CN102663103A (zh) 可配置的自动化生成数据库和数据访问的方法
CN101853305A (zh) 一种构建综合农业环境信息数据库的方法
CN103927385A (zh) 数据模型的统一方法及装置
CN104182484A (zh) 一种实现HBase数据与Java域对象映射的方法和装置
CN103246719B (zh) 一种基于Web的网络信息资源整合方法
CN102591960A (zh) 农业经济电子地图数据服务接口方法
CN101216824B (zh) 一种将树型结构数据库发布为分布式xml数据库的方法
CN116468010A (zh) 报表生成方法、装置、终端及存储介质
CN104636265B (zh) 一种cimxml文档的高效内存模型组织的访问方法
CN101814064B (zh) 报表模板的创建方法、报表生成方法及报表***
Olfat et al. A GML-based approach to automate spatial metadata updating
CN105550176A (zh) 一种关系数据库与xml的基本映射方法
CN102147794A (zh) 一种基于sql语句的多数据库字幕播出方法和装置
Zhang et al. Clock: Synchronizing internal relational storage with external xml documents
CN116257636A (zh) 枚举数据字典统一管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120822