CN101082862A - 一种逻辑、表示和数据分离的窗体描述方法和标记语言 - Google Patents

一种逻辑、表示和数据分离的窗体描述方法和标记语言 Download PDF

Info

Publication number
CN101082862A
CN101082862A CN 200710013759 CN200710013759A CN101082862A CN 101082862 A CN101082862 A CN 101082862A CN 200710013759 CN200710013759 CN 200710013759 CN 200710013759 A CN200710013759 A CN 200710013759A CN 101082862 A CN101082862 A CN 101082862A
Authority
CN
China
Prior art keywords
forms
data
control
window
definition
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
CN 200710013759
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.)
Inspur Group Shandong General Software Co Ltd
Original Assignee
Inspur Group Shandong General Software Co Ltd
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 Inspur Group Shandong General Software Co Ltd filed Critical Inspur Group Shandong General Software Co Ltd
Priority to CN 200710013759 priority Critical patent/CN101082862A/zh
Publication of CN101082862A publication Critical patent/CN101082862A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

本发明描述了一种基于XML的窗体描述方法和标记语言:XFML(可扩展窗体标记语言)。本发明将一个窗体的逻辑、表示和数据分离开来,形成一个与平台和设备无关的、基于XML的抽象窗体定义。其三层结构如图1所示,其中逻辑层包含窗体中各域的填充、多页、Form次序等的控制管理以及合法性检查等。表示层描述窗体的表现,即采用何种窗体控制部件,响应何种事件;这种表现是抽象的,可以借助于不同的表现处理器形成在不同设备上的不同表现,如Windows上的窗体,桌面浏览器上的XHTML窗体、手机上的WML窗体、面向盲人用户的浏览器窗体等。数据层则是针对实际的数据源,通过应用更丰富的模式(schema)或类型(type),为窗体增加更多的数据结构以及数据一致性的维护。

Description

一种逻辑、表示和数据分离的窗体描述方法和标记语言
技术领域
本发明涉及计算机图形用户界面描述语言领域,具体的说是一种基于XML的计算机图形用户界面描述方法和标记语言。
背景技术
自1993年HTML中引入了窗体(Forms)以来,窗体已成为Web的一个关键部分,是众多Web站点用来与用户交互的主要手段之一.随着Web及其应用的蓬勃发展,Web窗体也受到了一些挑战:如何提供日益复杂的事务处理(如实时监控、电子商务等)窗体?如何有效地降低各种因被管理对象、管理体制、软件体系、界面表现等的变更而带来的大量Web窗体脚本的维护?如何将同一类服务展现给持有不同输入输出设备(如桌面浏览器、掌上机、电视机、打印机、扫描仪、声音浏览器等)的用户?
对于一个窗体来说,它包含功能、表现和数据三部分.现有的HTML窗体将这三部分混杂在一起;并且用户对HTML标记语言的使用经常是不严密的;再者,各浏览器厂商对HTML规范的实现并不完全相同,有的还有自己的扩展.这些造成HTML窗体结构的混乱,以及对HTML使用的不规范、不统一.另外,现有的窗体是以界面为中心的,创作人员往往将大量精力放在如何使网页美观;数据和界面的语义处理仅作为控件的属性,对数据的获取、设置和语义检查只能通过控件来进行.这些进一步造成了现有HTML窗体的编码质量存在严重的问题.
随着XML成为Web应用之间的数据交换标准,重新考虑窗体以及它们如何在XML内容中工作逐步引起人们的关注.一些组织和研究人员纷纷提出了与Web窗体有关的新技术:如用分离的XSLT(XML Style sheet Language Tree)变换器来表现图形界面;采用Form sheet增加任意现存tag的交互性,指出界面中的哪一元素可以编辑,并且将变化的值提交回服务器;运用XFDL(XML FormsDescription Language)和XFA(XML Forms Architecture)可视化地反映窗体页面,并且增加了复杂的公式、逻辑和数字签名安全等;使用FML(Form Markup Language)在现存的HTML窗体中增加一些新的模块,如可复用模板,可以产生程序性的窗体.这些技术在某些方面解决了用户界面中存在的问题,但是都没有给出一个彻底的解决方案。
发明内容
本发明描述了一种基于XML的窗体描述方法和标记语言:XFML(可扩展窗体标记语言)。本发明的目的是提供一种更好地提供与工作流、数据库应用相匹配的窗体体系结构(Form architecture),增加越来越多的能在Web上使用的设备种类,构造基于XML的Web的窗体描述方法。
本发明的逻辑、表示和数据分离的窗体描述方法是:将一个窗体的逻辑、表示和数据分离开来,形成一个与平台和设备无关的、基于XML的抽象窗体定义。逻辑层包含窗体中各域的填充、多页、Form次序等的控制管理以及合法性检查等。表示层描述窗体的表现,即采用何种窗体控制部件,响应何种事件;这种表现是抽象的,可以借助于不同的表现处理器形成在不同设备上的不同表现,如Windows上的窗体,桌面浏览器上的XHTML窗体、手机上的WML窗体、面向盲人用户的浏览器窗体等。数据层则是针对实际的数据源,通过应用更丰富的模式(schema)或类型(type),为窗体增加更多的数据结构以及数据一致性的维护。
附图说明
附图1是XFML结构示意图。
附图2是XFML Schema结构图。
附图3是基于XFML的GSP敏捷开发平台架构图。
实施方式
如附图1所示,XFML的窗体定义由Form模型(Form Model)和Form用户界面(Form User Interfaces)两部分组成。
Form模型由<Model>元素定义,属于窗体的逻辑层,包括窗体自身的语义、涉及的实例数据的结构以及控制动作的定义、描述,主要包含以下内容:
1构成Form模型的各个模型项(model item);
2模型项相关的实例数据结构和实例数据引用;
3模型项的数据类型及该类型的可复用定义;
4模型项自身的限制和约束,如必需性、可见性、是否只读、合法性等;
5模型项相关的控制动作;
6模型项之间的依赖和约束关系。
其中,实例数据(Instance Data)由<InstanceData>元素定义,属于窗体的数据层,是窗体收集的数据。通过使用实例数据,可以支持工作流、自动填充、预先填充等窗体应用。Form模型与实例数据密切相关,它描述了实例数据的结构。Form模型与以往窗体定义模型不同的是:它除了提供实例数据的结构和类型描述外,还引入了涉及窗体更为丰富的语义描述的扩展部分,包括:实例数据附加的约束、依赖关系、计算表达式、相关性等.这些扩展的组件丰富了窗体语义的描述手段,可以取代以往窗体定义中所引入的大量脚本,规范了语义的描述方法。
Form用户界面由<UI>元素定义,属于表现层,是窗体的抽象表现(abstractpresentation),主要包括:
1窗体中的用户接口控件(widgets,controls)的定义;
2控件与Form模型项之间的绑定机制;
3控件之间的组织关系:构造控件、单页、多页;
4窗体的布局信息和显示风格描述;
5控件的事件响应.
XFML定义有丰富的抽象控件,主要分为容器控件和输入控件2种类型。
容器控件用于组织控件,提供位置布局(Positioning Layout)、流式布局(FlowLayout)和网格布局(Grid Layout)三种布局方式和分页,重复,层次三种组织方式。
容器控件标记及说明如表1所示。
标记 说明
PositionLayoutPanel 位置布局面板,提供位置布局功能。
FlowLayoutPanel 流式布局面板,提供流式布局功能。
GridLayoutPanel 网格布局面板,提供网格布局功能。
TabControl 选项卡控制器,管理相关的选项卡页集。
TabPage 选项卡页
Repeat 重复控件,用于显示一系列结构相同的实例数据。
Tree 树,用于显示有层次结构的实例数据。
表格1
输入控件用于展示数据和响应用户输入,支持单行、多行、密码文本,数字,日期,二进制文件等多种格式内容的输入和是或否,单选,多选等多种选择方式。
输入控件标记及说明如表2所示。
标记 说明
TextBox 文本编辑器
RichTextBox 富文本编辑器
Calculator 计算器
Calendar 日历
Clock 时间选取器
CheckBox 选择
ComboBox 下拉列表框
ImageBox 图像框
DictLookup 字典选取器
表格2
XFML描述的窗体是一个与平台和设备无关的、基于XML的抽象窗体定义,因此可以根据实际需要,实现不同的表现处理器,形成在不同设备上的不同表现,如Windows上的窗体,桌面浏览器上的XHTML窗体、手机上的WML窗体、面向盲人用户的浏览器窗体等。
实施例
本发明已经成功运用于浪潮GSP敏捷开发平台,其架构如附图3所示。表单设计人员通过图形化的表单设计器编写XFML来描述需要的表单,用户通过表单浏览器浏览发布的表单,录入数据,发出指令,表单浏览器将验证后的数据提交到数据总线中,通过控制总线调用工作流引擎,规则引擎,消息中心等其他构件来处理数据,完成用户的请求。GSP敏捷开发平台使得用户不用编写任何代码即可实现数据加载、展示、保存、动态计算、检查验证,权限控制以及调用各种业务规则和业务构件等复杂应用,并且可以根据自己的实际业务情况,随时,随意修改自己的表单,从而大大降低了软件系统的开发难度、开发风险,实施和维护过程中的成本和风险,使软件系统能够充分满足用户的个性化需求,以及用户不断发展和完善信息系统的长期目标,并降低了最终用户的部署和使用成本。

Claims (3)

1、一种逻辑、表示和数据分离的窗体描述方法,其特征在于:将一个窗体的逻辑、表示和数据分离开来,形成一个与平台和设备无关的基于XML的抽象窗体定义,该窗体定义包括逻辑层、表示层和数据层,其中逻辑层包含窗体中各域的填充、多页、Form次序的控制管理以及合法性检查;表示层描述窗体的表现,即采用何种窗体控制部件,响应何种事件;这种表现是抽象的,可以借助于不同的表现处理器形成在不同设备上的不同表现,如Windows上的窗体,桌面浏览器上的XHTML窗体、手机上的WML窗体、面向盲人用户的浏览器窗体;数据层则是针对实际的数据源,通过应用更丰富的模式或类型,为窗体增加更多的数据结构以及数据一致性的维护。
2、一种逻辑、表示和数据分离的窗体标记语言,其特征在于
XFML的窗体定义由Form模型和Form用户界面两部分组成,Form模型属于窗体的逻辑层,包括窗体自身的语义、涉及的实例数据的结构以及控制动作的定义、描述,主要包含以下内容:
1、构成Form模型的各个模型项;
2、模型项相关的实例数据结构和实例数据引用;
3、模型项的数据类型及该类型的可复用定义;
4、模型项自身的限制和约束,如必需性、可见性、是否只读、合法性;
5、模型项相关的控制动作;
6、模型项之间的依赖和约束关系;
其中,实例数据属于窗体的数据层,是窗体收集的数据。通过使用实例数据,可以支持工作流、自动填充、预先填充等窗体应用,Form模型与实例数据密切相关,它描述了实例数据的结构;
Form模型提供实例数据的结构和类型描述外,还引入了涉及窗体更为丰富的语义描述的扩展部分,包括:实例数据附加的约束、依赖关系、计算表达式、相关性,这些扩展的组件丰富了窗体语义的描述手段,取代以往窗体定义中所引入的大量脚本,规范了语义的描述方法;
Form用户界面属于表现层,是窗体的抽象表现,主要包括:
1、窗体中的用户接口控件(widgets,controls)的定义;
2、控件与Form模型项之间的绑定机制;
3、控件之间的组织关系:构造控件、单页、多页;
4、窗体的布局信息和显示风格描述;
5、控件的事件响应。
3、根据权利要求2所述的窗体标记语言,其特征在于,
XFML定义有丰富的抽象控件,主要分为容器控件和输入控件两种类型,其中容器控件用于组织控件,提供位置布局、流式布局和网格布局三种布局方式和分页,重复两种组织方式;输入控件用于展示数据和响应用户输入,支持单行、多行、密码文本、数字、日期、二进制文件多种格式内容的输入,包括是或否,单选,多选的多种选择方式;
容器控件和输入控件两种类型的标记和说明如下:
1)容器控件标记及说明下
标记                说明
PositionLayoutPanel 位置布局面板,提供位置布局功能。
FlowLayoutPanel     流式布局面板,提供流式布局功能。
GridLayoutPanel     网格布局面板,提供网格布局功能。
TabControl          选项卡控制器,管理相关的选项卡页集。
TabPage             选项卡页。
Repeat              重复控件,用于显示一系列结构相同的实例数据。
Tree                树,用于显示有层次结构的实例数据。
2)输入控件标记及说明如下
标记          说明
TextBox       文本编辑器
RichTextBox   富文本编辑器
Calculator    计算器
Calendar      日历
Clock         时间选取器
CheckBox      选择
ComboBox      下拉列表框
ImageBox      图像框
DictLookup    字典选取器。
CN 200710013759 2007-03-07 2007-03-07 一种逻辑、表示和数据分离的窗体描述方法和标记语言 Pending CN101082862A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710013759 CN101082862A (zh) 2007-03-07 2007-03-07 一种逻辑、表示和数据分离的窗体描述方法和标记语言

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710013759 CN101082862A (zh) 2007-03-07 2007-03-07 一种逻辑、表示和数据分离的窗体描述方法和标记语言

Publications (1)

Publication Number Publication Date
CN101082862A true CN101082862A (zh) 2007-12-05

Family

ID=38912447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710013759 Pending CN101082862A (zh) 2007-03-07 2007-03-07 一种逻辑、表示和数据分离的窗体描述方法和标记语言

Country Status (1)

Country Link
CN (1) CN101082862A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024050A (zh) * 2010-12-16 2011-04-20 浙江大学 一种网页浏览方法
CN102541563A (zh) * 2011-12-31 2012-07-04 山东中创软件商用中间件股份有限公司 一种监控界面生成方法及系统
CN102789382A (zh) * 2012-06-28 2012-11-21 用友软件股份有限公司 用于表单生成和运行的系统及方法
CN103279340A (zh) * 2013-05-02 2013-09-04 厦门亿联网络技术股份有限公司 VoIP话机端界面配置方法
CN103309669A (zh) * 2013-06-19 2013-09-18 杭州德睿忠行信息科技有限公司 一种自动化可扩展性软件的设计方法
CN103488534A (zh) * 2013-09-23 2014-01-01 浪潮集团山东通用软件有限公司 一种业务逻辑层向表示层反馈控制信息的方法
CN106354483A (zh) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 一种数据处理方法、装置及电子设备
CN110232173A (zh) * 2018-03-06 2019-09-13 福建天泉教育科技有限公司 基于可配置化表单引擎的表单配置方法及其系统
CN110515621A (zh) * 2019-08-26 2019-11-29 沈阳美行科技有限公司 一种清单列表功能属性的实现方法、装置及相关设备
CN115422168A (zh) * 2022-11-02 2022-12-02 北京滴普科技有限公司 一种轻量级数据迁移装置及方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024050A (zh) * 2010-12-16 2011-04-20 浙江大学 一种网页浏览方法
CN102541563A (zh) * 2011-12-31 2012-07-04 山东中创软件商用中间件股份有限公司 一种监控界面生成方法及系统
CN102789382B (zh) * 2012-06-28 2015-09-23 用友软件股份有限公司 用于表单生成和运行的系统及方法
CN102789382A (zh) * 2012-06-28 2012-11-21 用友软件股份有限公司 用于表单生成和运行的系统及方法
CN103279340A (zh) * 2013-05-02 2013-09-04 厦门亿联网络技术股份有限公司 VoIP话机端界面配置方法
CN103309669A (zh) * 2013-06-19 2013-09-18 杭州德睿忠行信息科技有限公司 一种自动化可扩展性软件的设计方法
CN103488534A (zh) * 2013-09-23 2014-01-01 浪潮集团山东通用软件有限公司 一种业务逻辑层向表示层反馈控制信息的方法
CN106354483A (zh) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 一种数据处理方法、装置及电子设备
CN106354483B (zh) * 2015-07-16 2020-02-07 阿里巴巴集团控股有限公司 一种数据处理方法、装置及电子设备
CN110232173A (zh) * 2018-03-06 2019-09-13 福建天泉教育科技有限公司 基于可配置化表单引擎的表单配置方法及其系统
CN110515621A (zh) * 2019-08-26 2019-11-29 沈阳美行科技有限公司 一种清单列表功能属性的实现方法、装置及相关设备
CN110515621B (zh) * 2019-08-26 2022-11-11 沈阳美行科技股份有限公司 一种清单列表功能属性的实现方法、装置及相关设备
CN115422168A (zh) * 2022-11-02 2022-12-02 北京滴普科技有限公司 一种轻量级数据迁移装置及方法

Similar Documents

Publication Publication Date Title
CN101082862A (zh) 一种逻辑、表示和数据分离的窗体描述方法和标记语言
CN103631597B (zh) 基于xml的web表单引擎装置及方法
CN104317563B (zh) 一种在线课件协作开发系统
CN103136317A (zh) 工程管理系统工程合同在线审批信息化实现方法
CN103383645A (zh) 代码生成方法及系统
CN109062567A (zh) 基于b/s结构的信息管理系统快速开发平台
CN101706821A (zh) 基于标签的移动互联网页面设计系统及方法
CN101025738A (zh) 一种免模板动态网站生成方法
CN104239284A (zh) 一种图文自动排版的方法和装置
CN101739415A (zh) 一种面向浏览器的网页标注系统
CN101604339A (zh) 在线定制门户系统的方法及门户定制系统
CN107943773B (zh) 一种面向航天产品的交互式电子技术手册开发系统和方法
CN102982439A (zh) 生成电子公文的方法及电子公文生成系统
CN101714078A (zh) 代码生成方法及装置
CN102096699A (zh) 基于动态模板的展示方法及系统
CN109213480A (zh) 一种开发后台管理页面的方法、存储介质、设备及系统
CN108920147A (zh) 一种Web页面构建方法、装置、计算设备和存储介质
CN106776800A (zh) AngularJS框架的页面生成方法、装置及系统
CN108363760A (zh) 基于b/s模型的ietm显示数据生成及离线控制方法
Emmet et al. Graphical notations, narratives and persuasion: a pliant systems approach to hypertext tool design
CN103425465A (zh) 电子病历文档的编辑器
CN109086040A (zh) 一种快速生成html代码的方法和系统
CN109614143B (zh) Ietm浏览器中自动生成故障流程图的开发方法
KR100841079B1 (ko) 엑스엠엘 기반의 원격 유지 보수 시스템
CN111367607A (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