CN104199928A - 一种半结构化的页面描述与解析方法 - Google Patents
一种半结构化的页面描述与解析方法 Download PDFInfo
- Publication number
- CN104199928A CN104199928A CN201410446978.0A CN201410446978A CN104199928A CN 104199928 A CN104199928 A CN 104199928A CN 201410446978 A CN201410446978 A CN 201410446978A CN 104199928 A CN104199928 A CN 104199928A
- Authority
- CN
- China
- Prior art keywords
- page
- describing
- interface
- attribute
- terminal
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及对计算机系统中一种半结构化的页面描述与解析方法,尤其是基于XML的跨终端的页面描述与解析方法。其特点是,包括如下步骤:(1)根据指定的页面描述,将布局、局部样式信息记录到页面描述文件中,将其界面元素与数据字段间的绑定关系信息记录到页面描述文件中;(2)针对不同类型的终端,实现特定的页面描述解析器,解析所述页面描述文件,获取对应终端上的页面描述界面的布局方式及数据绑定关系。本发明通过使用XML来对页面描述界面进行描述和展现,采用该方法,开发人员仅需在设计时定义一次定义页面描述文件,然后针对不同类型的设备实现相应的页面描述解析器,即可实现同一页面描述在不同类型终端上的不同界面展现形式。
Description
技术领域
本发明涉及对计算机系统中一种半结构化的页面描述与解析方法,尤其是基于XML的跨终端的页面描述与解析方法。
背景技术
如今,不管是在Web应用程序,还是在本地应用程序中,页面描述都已经是一个非常重要的组成部分。它为用户提供可视化的交互界面,促进用户的输入,使得各种程序从用户那里收集数据成为可能,而用户的输入正是业务流程的关键所在,在实际情况中几乎所有软件系统的开发都需要创建一个或多个页面描述来展示数据并收集用户的输入。同时,在实际情况中,应用程序常常需要运行在各种不同类型的终端上,比如传统的PC机,以及各种移动终端等,这就需要对页面描述界面进行针对性的设计,从而使得开发人员需要为同一个页面描述界面设计并开发多个对应不同类型终端的版本,导致大量的重复设计工作,费时费力。因此,如何快速、高效地对页面描述进行描述及展现已成为开发人员关注的焦点。
在许多领域中,非结构化数据常使用XML来存储和传输数据信息。例如Web技术中的XForms,它被W3C组织制定为HTML表单的替代标准,其数据模型便以XML作为存储和操作数据的对象,并通过XML在网络上传输数据。XML是指可扩展标记语言(Extensible Markup Language),类似于HTML,它是一种标记语言。与主要用于表现和展示数据的HTML语言不同的是,XML被设计用来传送及携带数据。XML于1998年2月发布为W3C标准,时至今日,它已被公认为优秀的数据描述语言,它是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。
如前所述,页面描述为用户提供可视化的交互界面,而构成该界面的各元素之间又具有层次和嵌套关系,这与XML文档中元素和属性之间的关系十分相似,同时,由于XML具有非常好的通用性、扩展性和跨平台性,因此可以考虑使用XML来描述页面。
发明内容
本发明的目的是提供一种半结构化的页面描述与解析方法,能够免去开发人员对页面描述界面的重复设计工作,提高对已有工作的可复用性,实现同一页面描述在不同类型终端上的界面展现,并使页面描述界面能够根据不同终端的屏幕大小进行自适应。
一种半结构化的页面描述与解析方法,其特别之处在于,包括如下步骤:
(1)根据指定的页面描述,将其布局、局部样式信息记录到页面描述文件中,将其界面元素与数据字段间的绑定关系信息记录到页面描述文件中,得到记录所述页面描述界面的页面描述文件;
(2)针对不同类型的终端,实现特定(对应)的页面描述解析器,解析所述页面描述文件,获取对应终端上的页面描述界面的布局方式及数据绑定关系,实现同一页面描述在不同类型终端上的界面展现,从而使页面描述界面能够根据不同终端的屏幕大小进行自适应。
步骤(1)中布局和局部样式具体是指颜色、字体、层次关系、对齐方式、换行方式;而界面元素与数据字段间的绑定关系具体是指数据的类型、可见性、只读性、校检规则、数据字段的编辑器类型。
步骤(2)中不同类型的终端具体是指平板电脑、手机、桌面终端。
步骤(1)中得到记录所述页面描述界面的页面描述文件,具体包括如下步骤:将页面文件反序列化,读取参数、创建页面文件元素对应的控件和元素分组,根据页面视图类型和布局信息得到页面布局控件和样式,加载数据在终端上展现页面。
步骤(2)中实现特定的页面描述解析器,具体包括如下步骤:针对不同类型的终端定义特定的解析器,将所述页面描述文件转换为特定终端上的页面描述界面,最后针对某种特定的展现形式定义对应的页面描述解析器。
本发明通过使用XML来对页面描述界面进行描述和展现,采用该方法,开发人员仅需在设计时定义一次定义页面描述文件,然后针对不同类型的设备实现相应的页面描述解析器,即可实现同一页面描述在不同类型终端上的不同界面展现形式。同时,当页面描述的界面样式、布局等发生变化时,开发人员仅仅需要修改页面描述界面的描述文件,即可将最新的页面描述界面展现到各种类型的终端上,从而免去了开发人员对页面描述界面的重复设计工作,提高了已有工作的可复用性以及开发效率,实现了页面描述界面的“一次设计,多种展现”。
附图说明
图1是发明实施例1提供方法的流程图。
具体实施方式
本发明提供了如下方案:
1、定义页面描述界面的描述文件,包括:
在设计时,用XML来描述页面描述界面,第一行对页面描述页面描述文件进行声明,定义XML版本为1.0,所使用编码为UTF-8。
第二行,描述该文档的根元素,定义根元素的名称为“UIScheme”,并为其定义属性,包括:
在“UIScheme”元素上定义名为“tableName”的属性,以指定页面描述界面所匹配的数据库表,该属性的值为真实数据库表的名称。
在“UIScheme”元素上定义名为“type”的属性,以指定页面描述界面的类型,通常,业务上的页面描述界面按照界面类型,可分为:详细视图(DetailView)、列表视图(ListView)、网格视图(GridView)三种,因此,该属性的值为“DetailView”、“ListView”、“GridView”之一。
在“UIScheme”元素上定义名为“xmlns”的属性,以指定该文档的命名空间。
根据业务数据的复杂程度的不同,页面描述界面中的元素数量也不同,对于一些共有的样式,有必要进行全局控制,在根元素“UIScheme”下定义名为“View”的元素,并为其定义属性,包括:
在“View”元素上定义名为“captionColumnWidth”的属性,以指定详细视图中标题列的宽度,该属性的值默认为“0”,即自动计算。
在“View”元素上定义名为“defaultCaptionStyle”的属性,以指定详细视图中标题的默认显示样式,该属性的值可以为“auto”、“inline”、“newline”之一,默认为“auto”,即自动计算。
在“View”元素上定义名为“defaultCaptionAlign”的属性,以指定详细视图中的标题文本的默认对齐方式,该属性的值可以为“auto”、“left”、“center”、“right”之一,默认为“auto”,即自动计算。
在“View”元素上定义名为“defaultColumnWidth”的属性,以指定列表和网格视图中列的宽度,该属性的值默认为“0”,即自动计算。
在“View”元素上定义名为“defaultColumnAlign”的属性,以指定列表和网格视图中每一列的文本的默认对齐方式,该属性的值可以为“auto”、“left”、“center”、“right”之一,默认为“auto”,即自动计算。
根据页面描述所匹配的表,针对表中的每一条记录,在页面描述界面中都有与之对应的界面元素,有必要定义能够表示界面元素的XML元素。在根元素“UIScheme”下定义名为“Attributes”的元素,以表示页面描述界面中所有界面元素的集合。
在元素“Attributes”下定义名为“Attribute”的元素,以表示页面描述中的一个界面元素,并为其定义属性,包括:
在“Attribute”元素上定义名为“id”的属性,以指定界面元素的唯一标识。
在“Attribute”元素上定义名为“align”的属性,以指定界面元素中的编辑器控件的文本在列表和网格视图中的对齐方式,该属性的值可以为“auto”、“left”、“center”、“right”之一,默认为“auto”,即自动计算。
在“Attribute”元素上定义名为“type”的属性,以指定界面元素所对应的数据库中字段值的数据类型,该属性的值可以为“string”、“int”、“short”、“long”、“float”、“double”、“dateTime”之一,默认为“string”,即字符串类型。
在“Attribute”元素上定义名为“caption”的属性,以指定界面元素中的编辑器控件的标题文本。
在“Attribute”元素上定义名为“captionAlign”的属性,以指定界面元素中的编辑器控件的标题文本在详细视图中的对齐方式,该属性的值可以为“auto”、“left”、“center”、“right”之一,默认为“auto”,即自动计算。
在“Attribute”元素上定义名为“captionStyle”的属性,以指定界面元素中的编辑器控件的标题在详细视图中的显示样式,该属性的值可以为“auto”、“inline”、“newline”之一,默认为“auto”,即自动计算。
在“Attribute”元素上定义名为“columnName”的属性,以指定界面元素所对应的数据库中字段的名称。
在“Attribute”元素上定义名为“height”的属性,以指定界面元素在详细视图中的高度,该属性的值默认为“0”,即自动计算。
在“Attribute”元素上定义名为“maxLength”的属性,以指定界面元素中的编辑器控件的可编辑部分(如果允许的话)允许输入的字符串长度。
在“Attribute”元素上定义名为“nullable”的属性,以指定界面元素中的编辑器控件的值是否允许为空,该属性的值可以为“true”、“false”之一,默认为“true”,即允许为空。
在“Attribute”元素上定义名为“numScale”的属性,以指定界面元素中的编辑器控件的可编辑部分(如果允许的话)小数点右边允许输入的十进制数字的最大位数。
在“Attribute”元素上定义名为“readOnly”的属性,以指定界面元素中的编辑器控件是否为只读,该属性的值可以为“true”、“false”之一,默认为“false”,即非只读。
在“Attribute”元素上定义名为“visible”的属性,以指定界面元素是否可见,该属性的值可以为“true”、“false”之一,默认为“true”,即可见。
在“Attribute”元素上定义名为“width”的属性,以指定界面元素在列表和网格视图中的宽度,该属性的值默认为“0”,即自动计算。
由于页面描述界面中的每一个界面元素都包含了一个对应的编辑器控件,在元素“Attribute”下定义名为“Editor”的元素,以表示该界面元素所包含的编辑器控件,为其定义属性,包括:
在“Editor”元素上定义名为“type”的属性,以指定编辑器控件的类型,该属性的值可以为“CheckBoxEditor”、“DateTimeEditor”、“NumberEditor”、“IDStringPicker”、“MultiFileEditor”、“MultiStringPicker”、“StringPicker”、“SinglePictureEditor”、“TextEditor”、“LongTextEditor”之一,以上各值分别表示“条件编辑器”、“日期编辑器”、“数字编辑器”、“带标识的下拉框编辑器”、“文件流编辑器”、“可多选的下拉框编辑器”、“下拉框编辑器”、“图片流编辑器”、“文本编辑器”、“长文本编辑器”。
在元素“Attributes”下定义名为“AttributeGroup”的元素,以表示界面元素的分组,并为其定义属性,包括:
在“AttributeGroup”元素上定义名为“id”的属性,以指定界面元素分组的唯一标识。
在“AttributeGroup”元素上定义名为“caption”的属性,以指定界面元素分组的标题文本。
设计完成的页面描述界面的描述文件,可以以XML文件的形式进行持久化,也可以通过编译为动态链接库的形式进行持久化。
2、定义页面描述解析器,包括:
按照所述页面描述界面的描述文件,共分为三种类型:详细视图(DetailView)、列表视图(ListView)、网格视图(GridView)三种,因此需分别定义三种视图的页面描述解析器。同时,由于终端类型的不同,导致展现技术的不同,因此针对每一种具有不同展现技术的终端(例如传统PC机区别于PDA终端),均需分别定义上述三种视图的页面描述解析器。
页面描述解析器对页面描述界面的描述文件进行解析和展现,包括:
页面描述解析器读取页面描述界面的描述文件(XML文件或者动态链接库文件),将描述文件所包含的各项参数信息进行反序列化。
页面描述解析器根据读取到的参数,获取页面描述界面所包含的界面元素,使用指定终端上的展现技术,创建相应的编辑器控件以及界面元素分组(如果有的话)。
页面描述解析器根据读取到的参数,获取页面描述界面的视图类型以及每个界面元素在当前视图类型中的参数信息,并按照界面元素自身参数的优先级高于全局样式的参数的优先级的规则,设置此前创建出来的编辑器控件的布局及样式。
页面描述解析器根据读取到的参数,获取页面描述界面中界面元素与数据的绑定关系,并对外提供加载数据的方法,当用户指定数据源并加载数据时,由页面描述解析器在终端上对页面描述界面进行展现,实现设计时的页面描述界面。
上述内容当中将业务数据以图形化的方式进行展示,非结构化的数据可通过XML方式进行存储,用户可通过图形化的方式来查看、编辑数据,用XML语言以设备无关的数据描述形式来记录页面描述界面中的各项信息。并且仅记录页面描述界面中与展现技术(形式)无关的信息,匹配数据库中一张指定的数据表,数据库中一张指定的数据表可以同时匹配多个页面描述文件,可以以XML文件的形式进行持久化,可以通过编译为动态链接库的形式进行持久化。
通常不同类型的终端,其页面描述界面的展现技术(形式)不同,因此需要针对不同类型的终端定义特定的解析器。可将所述页面描述文件转换为特定终端上的页面描述界面。针对某种特定的展现技术(形式)所定义的页面描述解析器,可以解析任何需要以该展现技术(形式)来进行页面描述界面展现的页面描述文件。
以下结合附图和具体的实施例对本发明的技术方案作进一步描述。
实施例1:
本发明的具体实施按照图1所示流程进行,下面以某业务系统中的一张页面描述的描述与展现为例,描述该流程中的各步骤。
1、查询该页面描述所对应的数据库表的名称及该表所包含的字段。
2、根据步骤1查询到的表名,新增页面描述文件,并将要绑定的数据表的名称记录到页面描述文件中。
3、根据步骤1查询到的字段名,确定在页面描述界面中需要展现的字段,从而确定界面元素的数量,以及每一个界面元素中编辑器控件的类型、数据绑定等信息。
4、设置全局样式(可选)。
5、设置每一个界面元素的布局及样式。
6、导出为XML文件。
7、分别为PC端和移动端实现页面描述解析器,视图类型为详细视图。
8、分别在PC端和移动端使用对应的页面描述解析器解析并展现页面描述。
Claims (5)
1.一种半结构化的页面描述与解析方法,其特征在于,包括如下步骤:
(1)根据指定的页面描述,将其布局、局部样式信息记录到页面描述文件中,将其界面元素与数据字段间的绑定关系信息记录到页面描述文件中,得到记录所述页面描述界面的页面描述文件;
(2)针对不同类型的终端,实现特定的页面描述解析器,解析所述页面描述文件,获取对应终端上的页面描述界面的布局方式及数据绑定关系,实现同一页面描述在不同类型终端上的界面展现,从而使页面描述界面能够根据不同终端的屏幕大小进行自适应。
2.如权利要求1所述的一种半结构化的页面描述与解析方法,其特征在于:步骤(1)中布局和局部样式具体是指颜色、字体、层次关系、对齐方式、换行方式;而界面元素与数据字段间的绑定关系具体是指数据的类型、可见性、只读性、校检规则、数据字段的编辑器类型。
3.如权利要求1所述的一种半结构化的页面描述与解析方法,其特征在于:步骤(2)中不同类型的终端具体是指平板电脑、手机、桌面终端。
4.如权利要求1所述的一种半结构化的页面描述与解析方法,其特征在于:步骤(1)中得到记录所述页面描述界面的页面描述文件,具体包括如下步骤:将页面文件反序列化,读取参数、创建页面文件元素对应的控件和元素分组,根据页面视图类型和布局信息得到页面布局控件和样式,加载数据在终端上展现页面。
5.如权利要求1所述的一种半结构化的页面描述与解析方法,其特征在于:步骤(2)中实现特定的页面描述解析器,具体包括如下步骤:针对不同类型的终端定义特定的解析器,将所述页面描述文件转换为特定终端上的页面描述界面,最后针对特定的展现形式定义对应的页面描述解析器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410446978.0A CN104199928A (zh) | 2014-09-03 | 2014-09-03 | 一种半结构化的页面描述与解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410446978.0A CN104199928A (zh) | 2014-09-03 | 2014-09-03 | 一种半结构化的页面描述与解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104199928A true CN104199928A (zh) | 2014-12-10 |
Family
ID=52085221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410446978.0A Pending CN104199928A (zh) | 2014-09-03 | 2014-09-03 | 一种半结构化的页面描述与解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199928A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503212A (zh) * | 2016-10-27 | 2017-03-15 | 中企动力科技股份有限公司 | 一种网页元素样式的设置方法及装置 |
CN107346306A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 网页描述方法和装置 |
CN110427233A (zh) * | 2019-06-26 | 2019-11-08 | 北京三快在线科技有限公司 | 后台数据绑定方法、装置、电子设备及存储介质 |
CN112740714A (zh) * | 2018-09-11 | 2021-04-30 | 公共电视公司 | 配置和管理多种设备类型的内容指南的用户界面的技术 |
CN112765509A (zh) * | 2021-01-27 | 2021-05-07 | 杭州新中大科技股份有限公司 | 一种基于元数据模型的多平台前端页面自动生成技术 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001096985A2 (en) * | 2000-06-12 | 2001-12-20 | Softsource, Inc. | Resolution independent vector display of internet content |
WO2004031994A1 (en) * | 2002-09-30 | 2004-04-15 | Embedded Internet Solutions, Inc. | Methods for optimizing display and navigation of web contents on wireless devices |
CN102339314A (zh) * | 2011-09-24 | 2012-02-01 | 国网电力科学研究院 | 一种基于xml的跨终端的数据表单描述与展现方法 |
CN103218195A (zh) * | 2013-04-10 | 2013-07-24 | 广东欧珀移动通信有限公司 | 应用程序的显示调整方法及装置 |
-
2014
- 2014-09-03 CN CN201410446978.0A patent/CN104199928A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001096985A2 (en) * | 2000-06-12 | 2001-12-20 | Softsource, Inc. | Resolution independent vector display of internet content |
WO2004031994A1 (en) * | 2002-09-30 | 2004-04-15 | Embedded Internet Solutions, Inc. | Methods for optimizing display and navigation of web contents on wireless devices |
CN102339314A (zh) * | 2011-09-24 | 2012-02-01 | 国网电力科学研究院 | 一种基于xml的跨终端的数据表单描述与展现方法 |
CN103218195A (zh) * | 2013-04-10 | 2013-07-24 | 广东欧珀移动通信有限公司 | 应用程序的显示调整方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346306A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 网页描述方法和装置 |
CN106503212A (zh) * | 2016-10-27 | 2017-03-15 | 中企动力科技股份有限公司 | 一种网页元素样式的设置方法及装置 |
CN112740714A (zh) * | 2018-09-11 | 2021-04-30 | 公共电视公司 | 配置和管理多种设备类型的内容指南的用户界面的技术 |
CN110427233A (zh) * | 2019-06-26 | 2019-11-08 | 北京三快在线科技有限公司 | 后台数据绑定方法、装置、电子设备及存储介质 |
CN112765509A (zh) * | 2021-01-27 | 2021-05-07 | 杭州新中大科技股份有限公司 | 一种基于元数据模型的多平台前端页面自动生成技术 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102339314A (zh) | 一种基于xml的跨终端的数据表单描述与展现方法 | |
Mauri et al. | RAWGraphs: a visualisation platform to create open outputs | |
Henderson-Sellers et al. | BOOKTWO of object-oriented knowledge: The working object: Object-Oriented Software Engineering: Methods and Management | |
CN106528129B (zh) | 一种Web应用界面生成系统及方法 | |
US6516326B1 (en) | System and method for integrating electrical power grid and related data from various proprietary raw data formats into a single maintainable electrically connected database | |
CN104199928A (zh) | 一种半结构化的页面描述与解析方法 | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
CN102521120A (zh) | 一种软件自动化测试系统及方法 | |
CN107807954B (zh) | 可视化建模多维分析系统及其方法 | |
CN102135938A (zh) | 一种软件产品测试方法及系统 | |
CN104123227A (zh) | 一种自动生成测试用例的方法 | |
CN202339542U (zh) | 一种软件产品测试系统 | |
CN104978307A (zh) | 一种清单处理方法及装置 | |
CN102270137B (zh) | 一种获取体系结构描述语言的方法和一种建模工具 | |
Powell | Microsoft Power BI cookbook: Creating business intelligence solutions of analytical data models, reports, and dashboards | |
CN104217036A (zh) | 一种网页内容提取方法和设备 | |
CN102053987B (zh) | 用于显示和修改数据数组的统一接口 | |
CN115840567A (zh) | 一种应用编辑方法及相关设备 | |
CN106407172A (zh) | 一种基于xml的报表生成方法 | |
Bayer et al. | Design and development of a web-based EPANET model catalogue and execution environment | |
CN107368557B (zh) | 页面编辑方法及装置 | |
CN103226475B (zh) | 转码时实现控件替换的方法及装置 | |
CN113538626A (zh) | 一种工作流生成方法及装置 | |
CN105718434A (zh) | 一种自然语言公式编辑方法和系统 | |
CN101329625A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141210 |
|
RJ01 | Rejection of invention patent application after publication |