一种基于xml的跨终端的数据表单描述与展现方法

文档序号:6434017阅读:203来源:国知局

专利名称::一种基于xml的跨终端的数据表单描述与展现方法
技术领域
:在此处键入
技术领域
描述段落本发明涉及一种对计算机系统的数据表单界面进行描述与展现的方法,尤其是基于XML的跨终端的数据表单描述与展现方法。
背景技术
:在此处键入
背景技术
描述段落如今,不管是在Web应用程序,还是在本地应用程序中,数据表单都已经是一个非常重要的组成部分。它为用户提供可视化的交互界面,促进用户的输入,使得各种程序从用户那里收集数据成为可能,而用户的输入正是业务流程的关键所在,在实际情况中几乎所有软件系统的开发都需要创建一个或多个数据表单来展示数据并收集用户的输入。同时,在实际情况中,应用程序常常需要运行在各种不同类型的终端上,比如传统的PC机,以及各种移动终端等,这就需要对数据表单界面进行针对性的设计,从而使得开发人员需要为同一个数据表单界面设计并开发多个对应不同类型终端的版本,导致大量的重复设计工作,费时费力。因此,如何快速、高效地对数据表单进行描述及展现已成为开发人员关注的焦点。在许多领域中,常使用XML来存储和传输数据信息。例如Web技术中的XForms,它被W3C组织制定为HTML表单的替代标准,其数据模型便以XML作为存储和操作数据的对象,并通过XML在网络上传输数据。XML是指可扩展标记语言(ExtensibleMarkupLanguage),类似于HTML,它是一种标记语言。与主要用于表现和展示数据的HTML语言不同的是,XML被设计用来传送及携带数据。XML于1998年2月发布为W3C标准,时至今日,它已被公认为优秀的数据描述语言,它是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。如前所述,数据表单为用户提供可视化的交互界面,而构成该界面的各元素之间又具有层次和嵌套关系,这与XML文档中元素和属性之间的关系十分相似,同时,由于XML具有非常好的通用性、扩展性和跨平台性,因此可以考虑使用XML来描述数据表单界面。
发明内容有鉴于此,本发明的目的在于实现一种基于XML的跨终端的数据表单描述与展现方法,免去开发人员对数据表单界面的重复设计工作,提高对已有工作的可复用性,实现同一数据表单在不同类型终端上的界面展现,并使数据表单界面能够根据不同终端的屏幕大小进行自适应。为实现上述目的,本发明提供了如下方案定义数据表单界面的描述文件,包括在设计时,用XML来描述数据表单界面,第一行对数据表单界面描述文件进行声明,定义XML版本为1.0,所使用编码为UTF-8。第二行,描述该文档的根元素,定义根元素的名称为“Ulkheme”,并为其定义属性,包括在“UlScheme”元素上定义名为“tableName”的属性,以指定数据表单界面所匹配的数据库表,该属性的值为真实数据库表的名称。在“UlScheme”元素上定义名为“type”的属性,以指定数据表单界面的类型,通常,业务上的数据表单界面按照界面类型,可分为详细视图(DetailView)、列表视图(ListView),网格视图(GridView)三种,因此,该属性的值为“DetailView”、“ListView”、“GridView”之一。在“UlScheme”元素上定义名为“xmlns”的属性,以指定该文档的命名空间。根据业务数据的复杂程度的不同,数据表单界面中的元素数量也不同,对于一些共有的样式,有必要进行全局控制,在根元素“UlScheme”下定义名为“View”的元素,并为其定义属性,包括在“View”元素上定义名为“captionColumnWidth”的属性,以指定详细视图中标题列的宽度,该属性的值默认为“0”,即自动计算。在“View”元素上定义名为“defaultCaptior^tyle”的属性,以指定详细视图中标题的默认显示样式,该属性的值可以为“3肚0”、“^11^^”、“11冊1^^”之一,默认为“皿切”,即自动计算。在“View”元素上定义名为“defaultCaptionAlign”的属性,以指定详细视图中的标题文本的默认对齐方式,该属性的值可以为“3肚0”、“16代”、“(^11切1~”、“1^8社”之一,默认为“auto”,即自动计算。在“View”元素上定义名为“defaultColumnWidth”的属性,以指定列表和网格视图中列的宽度,该属性的值默认为“0”,即自动计算。在“View”元素上定义名为“defaultColumnAlign”的属性,以指定列表和网格视图中每一列的文本的默认对齐方式,该属性的值可以为“aut0”、“left”、“center”、“right”之一,默认为“auto”,即自动计算。根据数据表单所匹配的表,针对表中的每一条记录,在数据表单界面中都有与之对应的界面元素,有必要定义能够表示界面元素的XML元素。在根元素“UlScheme”下定义名为“Attributes”的元素,以表示数据表单界面中所有界面元素的集合。在元素“Attributes”下定义名为“Attribute”的元素,以表示数据表单中的一个界面元素,并为其定义属性,包括在“Attribute”元素上定义名为“id”的属性,以指定界面元素的唯一标识。在“Attribute”元素上定义名为“align”的属性,以指定界面元素中的编辑器控件的文本在列表和网格视图中的对齐方式,该属性的值可以为“auto”、“left”、“Center”、“right”之一,默认为“auto”,即自动计算。在“Attribute”元素上定义名为“type”的属性,以指定界面元素所对应的数据库中字段值的数据类型,该属性的值可以为“string”、“int”、“Sh0rt”、“l0ng”、“fl0at”、“double”、“dateTime”之一,默认为“string”,即字符串类型。在“Attribute”元素上定义名为“caption”的属性,以指定界面元素中的编辑器控件的标题文本。在“Attribute”元素上定义名为“captionAlign”的属性,以指定界面元素中的编辑器控件的标题文本在详细视图中的对齐方式,该属性的值可以为“auto”、“left”、“center”、“right”之一,默认为“auto”,即自动计算。在“Attribute”元素上定义名为“captior^tyle”的属性,以指定界面元素中的编辑器控件的标题在详细视图中的显示样式,该属性的值可以为“auto”、“inline”、“newline”之一,默认为“auto”,即自动计算。在“Attribute”元素上定义名为“columnName”的属性,以指定界面元素所对应的数据库中字段的名称。在“Attribute”元素上定义名为“height”的属性,以指定界面元素在详细视图中的高度,该属性的值默认为“0”,即自动计算。在“Attribute”元素上定义名为“maxLength”的属性,以指定界面元素中的编辑器控件的可编辑部分(如果允许的话)允许输入的字符串长度。在“Attribute”元素上定义名为“nullable”的属性,以指定界面元素中的编辑器控件的值是否允许为空,该属性的值可以为“true”、“falSe”之一,默认为“true”,即允许为空。在“Attribute”元素上定义名为“nm^cale”的属性,以指定界面元素中的编辑器控件的可编辑部分(如果允许的话)小数点右边允许输入的十进制数字的最大位数。在“Attribute”元素上定义名为“readonly”的属性,以指定界面元素中的编辑器控件是否为只读,该属性的值可以为“true”、“false”之一,默认为“false”,即非只读。在“Attribute”元素上定义名为“visible”的属性,以指定界面元素是否可见,该属性的值可以为“true”、“false”之一,默认为“true”,即可见。在“Attribute”元素上定义名为“width”的属性,以指定界面元素在列表和网格视图中的宽度,该属性的值默认为“0”,即自动计算。由于数据表单界面中的每一个界面元素都包含了一个对应的编辑器控件,在元素"Attribute"下定义名为“Editor”的元素,以表示该界面元素所包含的编辑器控件,为其定义属性,包括在“Editor”元素上定义名为“type”的属性,以指定编辑器控件的类型,该属性的值可以为"CheckBoxEditor”、"DateTimeEditor”、"NumberEditor”、“I此tringPicker,,、“MultiFileEditor”、“MultiMringPicker”、“StringPicker”、“SinglePictureEditor,,、“TextEditor”、“LongTextEditor”之一,以上各值分别表示“条件编辑器”、“日期编辑器”、“数字编辑器”、“带标识的下拉框编辑器”、“文件流编辑器”、“可多选的下拉框编辑器”、“下拉框编辑器”、“图片流编辑器”、“文本编辑器”、“长文本编辑器”。在元素“Attributes”下定义名为“AttributeGroup”的元素,以表示界面元素的分组,并为其定义属性,包括在“AttributeGroup”元素上定义名为“id”的属性,以指定界面元素分组的唯一标识。在“AttributeGroup”元素上定义名为“caption”的属性,以指定界面元素分组的标题文本。设计完成的数据表单界面的描述文件,可以以XML文件的形式进行持久化,也可以通过编译为动态链接库的形式进行持久化。定义界面描述解析器,包括按照所述数据表单界面的描述文件,共分为三种类型详细视图(DetailView)、列表视图(ListView)、网格视图(GridView)三种,因此需分别定义三种视图的界面描述解析器。同时,由于终端类型的不同,导致展现技术的不同,因此针对每一种具有不同展现技术的终端(例如传统PC机区别于PDA终端),均需分别定义上述三种视图的界面描述解析器。界面描述解析器对数据表单界面的描述文件进行解析和展现,包括界面描述解析器读取数据表单界面的描述文件(XML文件或者动态链接库文件),将描述文件所包含的各项参数信息进行反序列化。界面描述解析器根据读取到的参数,获取数据表单界面所包含的界面元素,使用指定终端上的展现技术,创建相应的编辑器控件以及界面元素分组(如果有的话)。界面描述解析器根据读取到的参数,获取数据表单界面的视图类型以及每个界面元素在当前视图类型中的参数信息,并按照界面元素自身参数的优先级高于全局样式的参数的优先级的规则,设置此前创建出来的编辑器控件的布局及样式。界面描述解析器根据读取到的参数,获取数据表单界面中界面元素与数据的绑定关系,并对外提供加载数据的方法,当用户指定数据源并加载数据时,由界面描述解析器在终端上对数据表单界面进行展现,实现设计时的数据表单界面。本发明通过使用XML来对数据表单界面进行描述和展现,通过该方法,开发人员仅需在设计时定义一次定义界面描述文件,然后针对不同类型的设备实现相应的界面描述解析器,即可实现同一数据表单在不同类型终端上的不同界面展现形式。同时,当数据表单的界面样式、布局等发生变化时,开发人员仅仅需要修改数据表单界面的描述文件,即可将最新的数据表单界面展现到各种类型的终端上,从而免去了开发人员对数据表单界面的重复设计工作,提高了已有工作的可复用性以及开发效率,实现了数据表单界面的“一次设计,多种展现”。图1是发明实施例提供的方法的流程图。具体实施例方式以下结合附图和具体的实施例对本发明的技术方案作进一步描述。本发明的具体实施按照图1所示流程进行,下面以某业务系统中的一张数据表单的描述与展现为例,描述该流程中的各步骤。1、查询该数据表单所对应的数据库表的名称及该表所包含的字段。2、根据步骤1查询到的表名,新增界面描述文件,并将要绑定的数据表的名称记录到界面描述文件中。3、根据步骤1查询到的字段名,确定在数据表单界面中需要展现的字段,从而确定界面元素的数量,以及每一个界面元素中编辑器控件的类型、数据绑定等信息。4、设置全局样式(可选)。5、设置每一个界面元素的布局及样式。6、导出为XML文件(或编译为动态链接库文件)。7、分别为PC端(Windows操作系统)和PDA端(WindowsMobile操作系统)实现界面描述解析器,视图类型为详细视图。8、分别在PC端(Windows操作系统)和PDA端(WindowsMobile操作系统)使用对应的界面描述解析器解析并展现数据表单。权利要求1.一种基于XML的跨终端的数据表单描述与展现方法,包括根据指定的数据表单界面,将其全局、局部样式,如颜色、字体、层次关系、对齐方式、换行方式等信息记录到界面描述文件中,将其界面元素与数据字段间的绑定关系,如数据的类型、可见性、只读性、校检规则以及数据字段的编辑器类型等信息记录到界面描述文件中,得到记录所述数据表单界面的界面描述文件;针对不同类型的终端,实现特定的界面描述解析器,解析所述界面描述文件,获取对应终端上的数据表单界面的布局方式及数据绑定关系,实现同一数据表单在不同类型终端上的界面展现,并使数据表单界面能够根据不同终端的屏幕大小进行自适应。2.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述数据表单界面,是将业务数据以图形化的方式进行展示,用户可通过图形化的方式来查看、编辑数据。3.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述文件,用XML语言以设备无关的数据描述形式来记录数据表单界面中的各项信息。4.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述文件,仅记录数据表单界面中与展现技术(形式)无关的信息。5.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述文件匹配数据库中一张指定的数据表;数据库中一张指定的数据表可以同时匹配多个界面描述文件。6.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述文件,可以以XML文件的形式进行持久化。7.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述文件,可以通过编译为动态链接库的形式进行持久化。8.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述解析器,通常不同类型的终端,其数据表单界面的展现技术(形式)不同,因此需要针对不同类型的终端定义特定的解析器。9.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述解析器,可将所述界面描述文件转换为特定终端上的数据表单界面。10.根据权利要求1所述的一种基于XML的跨终端的数据表单描述与展现方法,其特征在于,所述界面描述解析器,针对某种特定的展现技术(形式)所定义的界面描述解析器,可以解析任何需要以该展现技术(形式)来进行数据表单界面展现的界面描述文件。全文摘要本发明公开了一种基于XML的跨终端的数据表单描述与展现方法。该方法通过界面描述文件对数据表单界面的全局、局部样式,如颜色、字体、层次关系、对齐方式、换行方式等进行定义,对数据表单界面元素与数据字段间的绑定关系,如数据的类型、可见性、只读性、校检规则以及数据字段的编辑器类型等进行定义,针对不同类型的终端,实现特定的界面描述解析器,解析界面描述文件,获取对应终端上的数据表单界面的布局方式及数据绑定关系,通过一次定义界面描述文件,实现同一数据表单在不同终端上的不同界面展现形式。本发明免去了开发人员对数据表单界面的重复设计工作,提高了已有工作的可复用性,实现了数据表单界面的“一次设计,多种展现”。文档编号G06F17/30GK102339314SQ20111028609公开日2012年2月1日申请日期2011年9月24日优先权日2011年9月24日发明者孔震,李昕,郁超申请人:南京南瑞集团公司,国网电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1