用标记语言编写文档的方法与流程

文档序号:15050500发布日期:2018-07-31 08:52阅读:350来源:国知局
本技术方案总体上涉及用户界面,并且更具体涉及与在计算机信息系统中处理数据相关的用户界面。
背景技术
::计算机信息系统中的数据通常经由具有特定永久或可变属性集的实体实例进行操作。目前,包括但不限于html和xml的标记语言广泛用于计算机信息系统中,用于存储、传输、发布和其他数据处理任务,其中包括实施用户界面;其中可以说,最流行的方法是其中实体实例属性的值被包括在以标记语言编写的文档中并且被提供给用户以用于在浏览器中处理的方法。用户能够在浏览器中查看和编辑实体实例属性的值,并将改变的值存储在信息系统中。应该注意,以标记语言编写的文档包含数据和辅助元素,辅助元素决定浏览器中样式和/或显示数据的位置,以及数据的含义。此外,这些文档可包含设计元素(例如背景图像)、辅助文本元素(例如描述性注释)以及与数据无关的其他元素。为了向用户提供由浏览器处理的信息系统的实体实例,实体实例属性(数据)的值需要位于以标记语言编写的文档内。现有技术提供了一种方法,其中程序代码块被插入以标记语言编写的文档中,然后由预处理器处理这些块,从而使得代码块被通过运行代码而创建的结果替换。该方法需要额外的特定知识,其中至少包括编程语言的语法知识,该编程语言的语法知识用来形成用于插入以标记语言编写的文档中的程序代码块。由于将程序代码块插入以标记语言编写的文档中以供预处理器处理的过程,该方法也是耗时的。现有技术提供了另一种方法,其中特殊符号和与特殊符号相关联的变量被插入用于以标记语言编写的文档内的数据的目的地的位置;在将文档传输到浏览器的过程期间,特殊符号和与特殊符号相关联的变量被数据替换。处理此类文件,也被称为“模板”,是经由所谓的模板处理器执行的,例如通过apachevelocity。这种方法需要至少包括模板处理器的语法的额外的特定知识。由于将特殊符号和与特殊符号相关联的变量插入以标记语言编写的文档中的过程以及它们的在模板处理器的语法改变或发展的情况下可能出现的连续更新,该方法也是耗时的。技术实现要素:进一步提出了对技术解决方案的简化描述,以帮助理解其某些方面。该总结不是广泛的概述。其不旨在鉴别本技术的关键或决定性要素。其唯一目的是以简化形式提出一个或多个方面,作为对随后的技术的更详细描述的序言。本技术的目的是改善现有技术中存在的不便之处中的至少一些。本技术的实施例的技术效果允许优化以标记语言编写文档的过程,同时实施用于处理信息系统的数据的用户界面,优化准备文档的时间并简化其进一步维护。通过消除将附加信息插入以标记语言编写的文档中的需要,技术效果是合理的,否则附加信息用于管理显示文档中包括的信息系统的数据。进一步的效果是:以标记语言编写文档以实施用于处理信息系统的数据的用户界面的升级的便利性,并降低创建这些文档的用户的具体知识要求。通过在实施用于处理信息系统的数据的用户界面期间应用以标记语言编写文档的方法来实现给定的技术效果,在该方法中,元数据针对至少一个实体类、其属性、数据集和包括至少数据集字段与数据集聚合函数的数据集元素而形成154(图14);形成用于呈现所述实体类的实例的模板,该模板包括以至少一种标记语言编写的至少一个文档155(图14);形成并存储模板和实体类之间的链接156(图14);显示该模板,形成并存储模板和实体类属性、数据集、它们的字段和聚合函数之间的链接157(图14);同时:选择模板元素并显示关于实体类属性、它们的字段和可用于链接形成的聚合函数的信息;选择实体类属性或数据集或数据集字段或数据集聚合函数;形成并存储链接,其包括先前选择的模板元素的标识符和实体类属性或数据集或数据集字段或先前选择的数据集聚合函数的标识符。在技术解决方案的一些实施方案中,数据集包括基于所述属性值计算出的属性值和聚合函数值,属性属于与正呈现的实体实例相关联的实体实例。在技术解决方案的一些实施方案中,标记语言是html或xml或xhtml或docbook。在技术解决方案的一些实施方案中,模板使用具有语法突出显示的文本编辑器或所见即所得编辑器或在线编辑器来形成。在技术解决方案的一些实施方案中,模板元素的值、模板元素旨在呈现实体类实例属性的值,使用对应于实体类属性的数据类型和大小来建立。在技术解决方案的一些实施方案中,模板元素的值,模板元素旨在呈现实体类实例属性的值,使用与数据集元素对应的数据类型和大小来建立。在技术解决方案的一些实施方案中,在用于呈现实体类实例的模板中,进一步形成用于呈现数据集元素的元素组并且创建结构元素,结构元素是文档分层结构的片段的根元素,片段包括对应的所述元素组的所有元素。在技术解决方案的一些实施方案中,所形成的模板存储在数据库中的服务器上。在技术解决方案的一些实施方案中,关于模板和实体类之间形成的链接的信息存储在数据库中的服务器上。在技术解决方案的一些实施方案中,还在关于模板与实体类之间的形成的链接的信息内进一步存储模板类型标识符和用户语言标识符,所述语言用于形成模板的辅助元素的值。在技术解决方案的一些实施方案中,在显示模板之前,服务器从数据库中检索模板并将以下元素插入到模板中:具有实体类标识符的元素,其使用关于模板和实体类之间的链接的信息;以及启用程序代码库的元素,代码旨在为用户提供形成并存储模板和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会。在技术解决方案的一些实施方案中,程序代码库以浏览器支持的编程语言实施。在技术解决方案的一些实施方案中,浏览器支持的编程语言是javascript或dart。在该技术解决方案的一些实施方案中,程序代码库位于可经由互联网获得的远程服务器上。在技术解决方案的一些实施方案中,在显示模板之前,服务器从数据库中检索模板并将以下元素插入到模板中:具有实体类标识符的元素,其使用关于模板和实体类之间的链接的信息;以及带有程序代码的元素,旨在为用户提供形成并存储模板和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会。在技术解决方案的一些实施方案中,为了选择模板元素,当用户在模板元素上定位指针时,该元素被图形标记。在技术解决方案的一些实施方案中,关于可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的信息被显示为列表,列表仅包括可用属性、数据集、它们的字段和聚合函数,属性、数据集、它们的字段和聚合函数尚未与任何模板元素相关联。在该技术解决方案的一些实施方案中,关于可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的信息在单独的浏览器窗口中显示或在显示模板的窗口内的可移动区域中显示,此外,形成经由采用拖放技术实施的到模板元素的链接。在技术解决方案的一些实施方案中,在选择其显示区域被其子元素的显示区域完全覆盖的模板元素,由此防止选择该元素时,通过选择任何子元素,然后选择进一步的父元素直到所需的模板元素变得可供选择,以便允许形成到实体类属性或数据集或数据集字段或数据集聚合函数的链接。在技术解决方案的一些实施方案中,通过采用与可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的列表一起显示的控制元素来实现选择期望的父元素。在技术解决方案的一些实施方案中,在形成模板与实体类属性或数据集或数据集字段或数据集聚合函数之间的链接之后,该元素为图形标记。在技术解决方案的一些实施方案中,一系列子元素索引被用作模板元素标识符,该子元素索引序列通向来自已知模板元素的元素。在技术解决方案的一些实施方案中,id属性值被用作模板元素标识符。在技术解决方案的一些实施方案中,在模板和实体类之间形成链接之后,为所有模板元素自动设置模板的唯一id属性值。在技术解决方案的一些实施方案中,在形成该元素与实体类属性或数据集或数据集字段或数据集聚合函数之间的链接的过程中,为模板元素自动设置模板的唯一id属性值。在技术解决方案的一些实施方案中,用于请求的表述、以xpath语言编写的表达式被用作模板元素标识符。在技术解决方案的一些实施方案中,该元素的唯一模板值被用作模板元素标识符。在技术解决方案的一些实施方案中,为了检索模板元素标识符,使用xpath语言。在技术解决方案的一些实施方案中,使用与可用于形成链接的实体类属性列表、数据集、它们的字段和聚合函数一起显示的控制元素来形成并存储实体类属性或数据集或数据集字段或数据集聚合函数与所选模板元素的链接。在技术解决方案的一些实施方案中,模板元素与实体类属性、数据集、它们的字段和聚合函数的形成的链接被存储在数据库中的服务器上。附图说明以下描述和附图更详细地阐述了技术解决方案的说明性方面。但是,这些方面仅示出了给定技术解决方案的一些实施方案的各种方法中的一些。根据以下详细描述和附图,本技术解决方案的特征和优点将变得显而易见。图1描绘了可能的db结构的片段,其中有表格的属性内容的指示、表格之间的近似内容和表格之间的链接(如箭头),并且示出:存储实体类元数据的实体类表100;存储实体属性元数据的实体属性表101;通过在实体属性元数据内(在表101中的“类id”属性中)存储实体类标识符的值,提供来自表101的实体属性和来自表100的实体类之间的链接;存储数据集元数据的数据集表102;通过在数据集元数据内(在表102中的“类id”属性中)存储实体类标识符的值来提供来自表102的数据集和来自表100的实体类之间的链接;存储数据集字段元数据的数据集字段表103;通过在数据集字段元数据内(在表103中的“数据集id”属性中)存储数据集标识符的值来提供来自表103的数据集字段和来自表102的数据集之间的链接;通过在数据集字段元数据内(在表103中的“类id”属性中)存储实体类标识符的值来提供来自表103的数据集字段和来自表100的实体类之间的链接;通过在数据集字段元数据内(在表103中的“属性id”属性中)存储实体属性标识符的值来提供来自表103的数据集与来自表101的实体属性之间的链接;存储数据集聚合函数元数据的聚合函数表104;通过在聚合函数元数据内(在表104中的“数据集id”属性中)存储数据集标识符的值来提供来自表104的聚合函数与来自表102的数据集之间的链接;通过在聚合函数元数据内(在表104中的“字段id”属性中)存储数据集字段标识符的值来提供来自表104的聚合函数与来自表103的数据集字段之间的链接。图2描绘了使用以javascript编程语言编写的程序代码复制以html编写的文档的分层结构的片段的过程的示例,其中示出:在浏览器中以html语言编写的文档的分层结构的片段105和该文档的可视化106;以javascript编写的程序代码107,代码复制具有嵌套元素的元素108并在原始版本后插入该副本;以html语言编写的文档的分层结构的片段109,其在浏览器中的内部表示类似于程序代码107的工作结果的内部表示,并且其在浏览器中的可视化110类似于程序代码107的工作结果的可视化。图3描绘了以html编写的模板的可能变体中的一个的删节片段,在片段中示出:“水平线”型的辅助元素111;辅助消息112;模板元素113(以呈现“计划”实体实例的“细分”属性的值)和该元素的模板值114;(针对旨在用于表示“任务”实体实例属性的值的一组元素)的根元素115;所述组的元素116(旨在表示“制剂”属性的值)和该元素的模板值117;元素118(旨在用于表示聚合函数的结果)和该元素的模板值119。图4描绘了由浏览器对以html编写的模板的可能变体中的一个的删节片段(图3中描绘的片段)进行的视觉表示,在图4中示出:“水平线”类型的辅助元素111;辅助消息112;模板值114、117和119。图5描绘了可能的db结构的片段,其中有表格的属性内容,表格之间的近似内容和表格之间的链接(如箭头)的指示,并且示出了:存储实体类元数据的实体类表100;存储实体属性元数据的实体属性表101;通过在实体属性元数据内(在表101中的“类id”属性中)存储实体类标识符的值来提供来自表101的实体属性和来自表100的实体类之间的链接;存储模板元数据的实体实例表示模板表120;通过在模板元数据内(在表120中的“classid”属性中)存储实体类标识符的值来提供来自表120的模板和来自表100的实体类之间的链接;具有到模板元素的路径的表121,其中存储从模板的根元素到目标元素的路径(作为包括从左到右放置并由分号符号分隔的子元素索引的数字值的数字表示的字符串);通过在表121内(在“属性id”属性中)存储实体属性标识符的值,提供来自表101的路径与来自表101的实体属性之间的链接;通过在表121内(在“模板id”属性中)存储模板标识符的值来提供来自表121的路径与来自表120的模板之间的链接。图6描绘了插入用于启用程序代码库的模板元素中的可能变体的示例,程序代码为用户提供形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会(在以html语言形成模板并且以javascript语言形成库的程序代码的情况下)。在图6中示出:html中的实体表示的简化模板的示例122,其中服务器插入了元素123,元素123启用位于名为“markup_library”的外部文件中的程序代码库;由服务器插入到模板中的元素124,在由浏览器加载完模板之后,元素124提供“prepare_for_markup”过程调用,用于准备模板以供形成并存储模板元素与实体类属性、数据集、它们的字段和聚合函数之间的链接;html中的实体表示的简化模板的示例125,其中服务器插入了元素126,元素126包括库本身的程序代码,并且在浏览器加载完模板之后,提供“prepare_for_markup”过程调用用于准备模板以供形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接;实体类标识符127,用于表示形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的该标识符的实例将被实现。图7描绘了以html编写的模板的可能变体中的一个的删节片段(图3中描绘的片段)的视觉表示,该片段在形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的模式中;其中示出:由用户选择并用图形标记的元素113(通过实线框);对话窗口128,该窗口包括可用于形成链接的实体类属性的列表129;旨在用于开始形成并存储链接的过程的按钮130;用于选择作为当前选定元素的父元素的元素的按钮131;图8描绘了可能的db结构的片段,其具有表格的属性内容、表格的适当内容和所显示表格之间的链接(如箭头)的指示,并且示出了:实体实例表132;通过在实体实例数据内(在表132的“类id”属性中)存储实体类标识符的值来提供来自表132的实体实例和来自图1中所描绘的表100的实体类之间的链接;实体实例属性值表133;通过在实体属性数据内(在表133中的“实例id”属性中)存储实体实例标识符的值,提供来自表133的属性值与来自表132的实体实例之间的链接;通过在实体属性值数据内(在表133中的“属性id”属性中)存储实体类标识符的值来提供来自表133的属性值和来自图1中描绘的表100的实体类之间的链接;具有数据集路径的表134,其中从模板根元素到模板元素组的根元素的路径(作为包括从左到右放置并用分号符号分隔的子元素索引的数字值的数字表示的字符串)旨在显示数据集元素;通过在数据集路径数据内(在表134的“数据集id”属性中)存储数据集标识符的值来提供来自表134的数据集路径与来自图1中所描绘的表102的数据集之间的链接;通过将实体表示模板标识符的值存储在数据集路径数据内(在表134中的“模板id”属性中)来提供来自表134的数据集路径与来自图5中所描绘的表120的实体表示模板之间的链接;具有数据集字段路径的表135,其中来自模板元素组的根元素的路径(作为包括从左到右放置并用分号符号分隔的子元素索引的数字值的数字表示的字符串)旨在显示数据集元素到组的目标元素;通过在数据集路径数据内(在表135的“字段id”属性中)存储数据集标识符的值来提供来自表135的数据集字段路径和来自图1中所描绘的表102的数据集之间的链接;通过将实体实例表示模板标识符的值存储在数据集字段路径数据内(在表135的“模板id”属性中)来提供来自表135的数据集字段路径与来自图5中所描绘的表120的实体实例表示模板之间的链接;具有数据集聚合函数路径的表136,其中从模板根元素到根元素的路径(作为包括从左到右放置并用分号符号分隔的子元素索引的数字值的数字表示的字符串)旨在表示数据集聚合函数的值;通过将数据集聚合函数标识符的值存储在数据集聚合函数路径数据内(在表136中的“聚合函数id”属性中)提供来自表136的数据集聚合函数路径和来自图1中所描绘的表104的数据集聚合函数之间的链接;通过将实体表示模板标识符的值存储在数据集聚合函数路径数据内(在表136中的“模板id”属性中)来提供来自表136的数据集聚合函数路径与来自图5中所描绘的表120的实体表示模板之间的链接。图9描绘了插入用于启用程序代码库的模板元素的可能变体的示例,程序代码实现实体实例和数据集在模板中的表示,并向用户提供编辑实体属性值并在db中存储改变的值的机会(假设模板是以html编写的,并且库的程序代码是以javascript编写的)。在图9中示出:html中的实体表示的简化模板的示例137,其中服务器插入了元素138,元素138启用位于名为“edit_library”的外部文件中的程序代码库;由服务器插入的元素139,元素139在完成由浏览器加载模板后,启用用于表示实体实例并准备用于编辑的实例属性值的“prepare_for_edit”过程调用;html中的实体表示的简化模板的示例140,其中服务器插入了元素141,元素141包括库本身的程序代码,并且在完成由浏览器加载模板之后,提供用于表示实体实例并准备用于编辑的实例属性值的“prepare_for_edit”过程调用;在浏览器中示出以供用户预览和编辑的实体实例标识符142。图10描绘了用于在浏览器中存储实体实例和数据集的数据和元数据的对象(作为用于对象生成的以javascript语言编写的程序代码)的示例,其中示出:特征143,其中存储实体类标识符的值;阵列144,其中存储匹配的实体属性标识符、实体实例属性的值以及用于表示实体实例属性的值的到目标模板元素的路径;其中存储了数据集的数据和元数据的对象阵列145,例如:特征146,其中从模板的根元素到模板元素组的根元素的数据集路径(作为包括从左到右放置并用分号符号分隔的子元素索引的数字值的数字表示的字符串)旨在显示数据集元素;来自模板元素组的根元素的路径阵列147(作为包括从左到右放置并用分号符号分隔的子元素索引的数字值的数字表示的字符串),其旨在将数据集元素显示到组的目标元素;阵列148,其中存储数据集的表部分的行(作为数据集元素值阵列);对象阵列149,其中存储数据集聚合函数的匹配值和到目标模板元素的路径以用于呈现这些值。图11描绘了javascript中的功能实例,旨在用于在浏览器中呈现模板中的实体实例和数据集。在图11中描绘了:辅助功能150,其将dom根元素和路径(来自该根元素)作为参数并且返回沿与根元素对应的路径发现的dom元素;功能151,其将实体实例属性的值放入对应的模板元素中;功能152,其将数据集聚合函数的值放入对应的模板元素中。图12描绘了将数据集表部分放置在模板中的功能153的示例。图13描绘了浏览器对具有实体实例属性值,数据集元素和聚合函数值的示例性模板的视觉表示,该实体实例属性值,数据集元素和聚合函数值放置在模板内并且对应于图10中描绘的浏览器存储器中的示例性对象,并对应于图1、图5和图8中描绘的数据和元数据的示例性可能组成。图14描绘了示出用于以标记语言编写文档的同时实施用于处理信息系统的数据的用户界面的方法的实施方案变体的框图。具体实施例这里提出的示例性术语和名称仅旨在作为本技术解决方案的说明性示例,而不旨在识别本技术解决方案的关键或重要元素。仅出于便于说明的目的,在本描述中使用html标记语言作为示例,然而,如本领域技术人员将理解的,本方法可以使用浏览器可支持的任何其他标记语言来实施并提供以这种语言编写的文档内的标记元素和数据的分层结构的可能性。例如,此类语言可以是sgml元语言的一些应用程序和子集。本技术解决方案可以在计算机上实施,以及作为包含实施所述方法的指令的计算机系统或存储介质来实施。本技术解决方案可以在分布式计算机系统中实施。下面显示了理解本技术解决方案所需的术语及其描述。数据是以适合通信、解释或处理的形式化方式重新解释的信息表示(iso/iec2382:2015,2121272“数据”);数据元素是上下文中认为不可分割的数据的单元。(iso/iec2382:2015,2121599(“数据元素”));数据库(db)是根据描述数据的特性以及它们的对应实体之间的关系的概念结构组织的这些数据的集合,支持一个或多个应用领域(iso/iec2382:2015,2121413“数据库”);元数据是关于数据或数据元素的数据,可能包括数据描述以及关于数据所有权、访问路径和数据易变性的数据(iso/iec2382:2015,2121505“元数据”);服务器是计算机网络中的功能块,即为工作站、个人计算机或其他功能块提供服务的块(iso/iec2383:2015,2120558“服务器”);经由通信网络为工作站或其他功能块提供公共服务的功能块(iso/iec2383:2015,2124462“服务器”);网络浏览器是用于浏览网页的应用程序软件;在本说明书的上下文中,除非另外明确地提供,否则网络浏览器旨在意为向用户提供用于处理以标记语言编写的文档的界面的任何软件,以及实施以脚本语言(诸如,例如,但不限于javascript或dart)编写的程序代码的能力;orm(对象关系映射)是编程技术,它将数据库与面向对象语言的概念链接,并允许使用任何类型的db管理系统将数据作为对象进行处理,这些系统有对应的orm库;xpath(xmlpathlanguage)是用于处理xml文档的部分的语言,被设计成可供xslt和xpointer两者使用((http://www.w3.org/tr/1999/rec-xpath-19991116/);sgml(标准通用标记语言)是元语言,其允许为文档定义标记语言(iso8879:1986,“标准通用标记语言”);实体是存在、曾经存在或可能存在的任何特定或抽象的事物,包括此类对象的组合(iso/iec2382:2015,2121433“实体”);属性是实体的命名特性(属性)(iso/iec2382:2015,2121440“属性”);实体类是具有共同属性的多个实体(iso/iec2382:2015,2121438“实体类”);实体实例(实体类实例)是给定实体类的特定实体(iso/iec2382:2015,2121439“实体发生”);属性值是属性的特定发生(iso/iec2382:2015,2121441“属性值”);数据集是作为特定结构组织的有界多个数据元素,该结构的元数据提供了识别、解释和处理来自多个数据元素的每个数据元素的可能性;在本说明书的上下文中,除非另有明确规定,数据集被认为是对数据库的请求的结果,该结果可以包括一个或若干个实体的一个或若干个实例的属性值以及属性的派生值(例如,聚合函数值)和任何辅助数据元素;数据集的至少一部分可以表示为表格,在此表格中,每个单独的行包括相关的数据项,例如,一个实体实例的属性值或不同实体的匹配实例的属性值,并且每个列包括同类数据,例如,数据集中表示的特定实体的每个实例的特定属性的值。(数据集的)字段是数据集列的元数据,用于对该列的数据进行识别、解释和处理;数据集的字段包括用于检索处理列的数据所需的其他字段元数据的标识符;模板(实体实例的表示)是以标记语言编写的文档,并且其可以位于可以在实施用于处理一个或若干个实体的一个或若干个实例的用户界面时使用的存储介质上;模板元素是最小的不可分割结构模板元素(例如html标签);模板类型是模板的元数据元素,模板类型指示模板的预期用途,例如“用于打印”、“用于身体有问题的”等;不同类型的模板可以在结构和外观上不同;旨在以不同用户语言表示实体的模板在结构和外观上也可以不同;dom(文档对象模型)是与平台和语言无关的界面,其允许程序和脚本动态访问和更新文档的内容,结构和样式。(http://www.w3.org/dom/);ajax(异步javascript和xml)是构建web应用程序的用户界面的概念,该概念是浏览器和网络服务器之间的“后台”数据通信。因此,在数据刷新期间,网页没有完全下载,并且网络应用程序变得更快和更方便。拖放是使用鼠标操纵器或其他指针操作用户界面中的界面元素的方法;分布式计算机系统是被其用户视为单个组合系统的一组独立的计算机(计算机装置);命令处理装置是执行计算机指令(程序)的电子块或集成电路(微处理器)。命令处理装置从一个或多个数据存储装置读取和执行计算机指令(程序)。数据存储装置例如但不限于hdd、闪存、rom、ssd。程序是旨在由计算机的控制装置或命令处理装置执行的一系列指令。根据用于以标记语言编写文档,同时实施用于处理信息系统的数据的用户界面的方法:形成至少一个实体类的元数据、它们的属性、数据集和数据集元素至少包括数据集字段和数据集聚合函数;实体类元数据及其属性必须包括标识符,该标识符允许区分类并区分属性(至少在对应的类内),并且标识符可以包括名称、描述和其他元素。图1描绘了实体类元数据(表格100)及其属性(表格101)的结构和内容的可能变体中的一个。数据集元数据、它们的字段和聚合函数必须包括标识符,以允许区分数据集并区分字段和聚合函数(至少在对应的数据集内),并且标识符可包括旨在形成数据集的其他元素。数据集链接另外由实体类形成,需要实体表示插入这些数据集的元素。图1描绘了实体类元数据(表102)、它们的字段(表103)和聚合函数(表104)的结构及内容以及数据集与实体类的链接的结构和内容。形成用于呈现所述实体类的实例的模板,该模板包括以至少一种标记语言编写的至少一个文档;在一些实施方案中,标记语言例如但不限于html或xml或xhtml或docbook。在一些实施方案中,使用适合于所使用的标记语言的软件来形成以标记语言编写的文档,包括但不限于具有语法突出显示的文本编辑器或包括在线编辑器的所见即所得编辑器。在用于表示实体类实例的模板中生成元素,元素将表示实体类实例属性值,并且生成包括(不限于)描述、背景图像、分隔线和其他元素的辅助元素。在一些实施方案中,模板元素的值(模板元素旨在呈现实体类实例属性的值)是使用与实体类属性对应的数据类型和大小来建立的。在一些实施方案中,模板元素的值(模板元素旨在呈现数据集元素的值)是使用与数据集元素对应的数据类型和大小来建立的。在一些实施方案中,在用于呈现实体类实例的模板中,用于呈现数据集元素的元素进一步形成为预设数据集元素,例如包括与呈现的实体实例相关联的实体实例属性值以及基于这些属性的值计算的聚合函数值。通常,在形成实体实例呈现表期间,数据集的表部分中的行数是未知的。因此,在模板中形成了一组元素,该组足够大以呈现一个数据集行的所需元素。在表示实体实例的过程中,生成此组元素的副本以呈现其他数据集行的元素。复制模板元素组的变体中的一个,允许简化实施方案的变体是使用由dom提供的可能性生成文档分层结构的片段的副本的变体。为了使用这种可能性,在本技术的一些实施方案中,在模板中生成结构元素,结构元素是文档分层结构的片段的根元素,根元素包括所述组的所有元素。图2描绘了使用以javascript编程语言编写的程序代码复制以html编写的文档的分层结构的片段的过程的示例。必须强调的是,由于简化了程序代码107,图2中所描绘的片段105中的元素108的id属性仅用于易于示例说明的目的。在本技术解决方案中,使用id属性是不必要的,这从下面的描述中是显而易见的。图3描绘了以html编写的用于呈现“计划”实体实例的模板的可能变体中的一个的删节片段;“计划”实体实例必须包括与其相关联的“任务”实体实例的属性值以及聚合函数值,该聚合函数基于这些属性中的一个计算。图4描绘了浏览器对图3中描绘的删节的模板片段的视觉表示。在一些实施方案中,所形成的模板存储在数据库中的服务器上。形成并存储模板和实体类之间的链接;在一些实施方案中,通过用户的动作提供在模板和实体类之间形成链接,用户从接收自服务器的集合中选择实体类、选择模板(文件、所见即所得编辑器,但没有限制),并且通过这些动作,用户形成模板和实体类之间的链接。在一些实施方案中,关于形成的链接的信息存储在db中的服务器上。图5描绘了存储模板和实体类之间的链接的可能变体中的一个:来自表120的模板与来自表100的实体类之间的链接通过将实体类标识符的值存储在模板元数据内(在表120中的“类id”属性中)来提供。在一些实施方案中,在关于模板和实体类之间形成的链接的信息内,模板类型标识符(例如,旨在指示其目的:“用于打印”、“用于触摸屏装置”、“用于身体有问题的”等)和用户语言标识符被进一步存储,所述语言用于形成模板的辅助元素(例如,文本描述或包含文本的图像)的值。显示模板,形成并存储模板和实体类属性、数据集、它们的字段和聚合函数之间的链接,同时:选择关于实体类属性的信息和模板元素、它们的可用于链接形成字段和聚合函数被显示;选择实体类属性或数据集或数据集字段或数据集聚合函数;形成并存储包括先前选择的模板元素的标识符和实体类属性或数据集或数据集字段或先前选择的数据集聚合函数的标识符的链接。用户的操作可能会在浏览器中生效,并允许远程工作,例如经由互联网。在一些实施方案中,为了检索用于形成并存储具有实体类属性、数据集、它们的字段和聚合函数的模板元素的链接的模板,用户发起在浏览器中检索模板,浏览器从服务器请求模板。服务器从数据库中检索模板并在模板中插入启用程序代码库的元素,该代码旨在为用户提供形成并存储模板和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会,服务器还使用关于模板和实体类之间的链接的信息将具有实体类标识符的元素插入到模板中,该信息在前一步骤上形成并存储在db中;之后服务器将模板发送到浏览器进行显示。图6描绘了具有由服务器插入的元素123的实体表示的简化模板的示例122,该元素启用位于名为“标记_库(markup_library)”的外部文件中的程序代码库和由服务器插入的元素124,该元素包括实体类标识符127。在一些实施方案中,服务器从数据库中检索模板并且将包括以下内容的元素插入到模板中:程序代码,其旨在为用户提供形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会;实体类标识符,使用关于模板和实体类之间的链接的信息,该信息在前一步骤上形成并存储在db中;之后服务器将模板发送到浏览器进行显示。图6描绘了具有由服务器插入的元素126的实体表示的简化模板的示例125,元素126包括库的程序代码和实体类的标识符127。在一些实施方案中,旨在向用户提供形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会的程序代码以浏览器支持的任何编程语言实施,例如但不限于javascript或dart。在一些实施方案中,程序代码的库旨在向用户提供形成并存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的机会,其位于可经由互联网获得的远程服务器上。在一些实施方案中,当用户将光标(或任何其他指针)放置在模板元素上时,为了便于选择用于形成元素和实体类属性或数据集或数据集字段或数据集聚合函数之间的链接的元素,用图形标记该元素。在一些实施方案中,当用户选择模板元素时,显示关于可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的信息,该信息位于远程服务器上。图7描绘了以html编写的模板的可能变体中的一个的删节片段(图3中描绘的片段)的视觉表示,该片段处于存储模板元素和实体类属性、数据集、它们的字段和聚合函数之间的链接的模式。在一些实施方案中,关于可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的信息被显示为列表,该列表仅包括尚未与任何模板元素相关联的可用属性、数据集、它们的字段和聚合函数。在一些实施方案中,关于可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的信息被显示在单独的浏览器窗口中或具有该模板的窗口内的可移动区域中,并且使用拖放技术实现与模板元素形成链接。在一些实施方案中,选择模板元素时,当待选择的模板元素的显示区域被子元素的显示区域完全覆盖并且不能选择父元素时,选择任何子元素,并且进一步连续选择父元素直到选择所需的元素以形成与实体类属性的链接或数据集或数据集字段或数据集聚合函数。选择连续的父元素是通过使用与可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的列表一起显示的控制元素(例如,按钮)实现的。图7描绘了用于选择作为当前选择元素的父元素的元素的按钮131。在一些实施方案中,选择实体类属性或数据集或数据集字段或数据集聚合函数以形成并存储先前选择的模板元素之间的链接。在一些实施方案中,实现选择实体类属性或数据集或数据集字段或数据集聚合函数的链接,并然后形成并存储该链接与先前使用与可用于形成链接的实体类属性、数据集、它们的字段和聚合函数的列表一起显示的控制元素(例如,按钮)选择的模板元素。图7描绘了按钮130,该按钮130旨在用于开始形成并存储链接的过程。在一些实施方案中,关于形成的和存储的链接的信息包括实体类属性或数据集或数据集字段或数据集聚合函数的标识符和模板元素标识符。“模板元素标识符”旨在意为允许由浏览器实施的编程代码访问给定模板元素的任何信息。为了处理以标记语言编写的文档,浏览器在存储器中构建文档的内部表示,并提供由浏览器实施的程序代码,其中作为dom访问所述表示;以实现浏览器在存储器中再现文档标签分层结构。在dom中,除了根元素之外,每个元素都有其单独的直接“父元素”(较高级元素);到父元素的链接被存储在元素本身内(html和javascript的parentnode),并且所有元素都可以有若干个“子元素”(较低级元素),并且在这种情况下,每个此种元素都具有到子元素的链接的特殊阵列(html和javascript的childnode)。阵列中的每个链接都具有序号(索引)。因此,对于每个模板元素,通过引用直接的“父元素”,可以确定子元素索引的唯一序列,该序列从根元素(或另一个已知元素)到给定元素。在本说明书的上下文中,在一些情况下,为了简略,该序列将被称为“路径”(到元素)。在一些实施方案中,在使用以html编写的模板的情况下,body元素被用作根元素。在一些实施方案中,当形成模板元素和实体类属性或数据集聚合函数之间的链接时,将从dom根元素到模板元素的路径用作模板元素标识符。当数据集和作为用于旨在显示数据集元素的元素组的根元素的模板元素之间形成链接时,也使用从dom根元素到模板元素的路径。当所述组的元素与数据集字段之间形成链接时,从组的根元素到这些元素的路径被用作组的元素的标识符。例如,从body元素到图3中描绘的元素113的路径是以下子元素索引的序列(从左到右):3、1、3。如本领域技术人员将理解的,子元素索引的此类值基于由浏览器解析源html文本的标准方法,其中用于源文本格式化的辅助符号(例如,换行符、回车符、空格)被浏览器放置到单独的文本节点中,这些文本节点也是dom元素,并且是对应的较高级元素的子元素(childnode)的阵列的一部分;索引从零开始。在一些实施方案中,给定模板元素的id属性值被用作模板元素标识符。在一些实施方案中,在模板和实体类之间形成链接之后,为所有模板元素自动建立对模板唯一的id属性值。在一些实施方案中,在形成该元素与实体类属性或数据集或数据集字段或数据集聚合函数之间的链接期间,为模板元素自动建立对模板唯一的id属性值。在一些实施方案中,用于请求的表达式、以xpath语言编写的表达式被用作模板元素标识符。在一些实施方案中,元素的唯一值被用作模板元素标识符。在一些实施方案中,为了检索模板元素标识符,使用xpath请求语言。在一些实施方案中,在模板和实体类属性或数据集或数据集字段或数据集聚合函数之间形成链接之后,以图形标记该元素。在一些实施方案中,具有实体类属性、数据集、它们的字段和聚合函数的模板元素的形成的链接存储在数据库中的服务器上。在一些实施方案中,到模板元素的路径存储为字符串,包括从左到右或从右到左放置并由特殊符号或一组符号分隔的索引的数字值的数字表示。因此,在图5中所描绘的表121中,从body元素到图3中所描绘的元素113的路径被存储为“3;1;3”字符串。在图8中所描绘的表136中,从body元件到图3中所描绘的元件118的路径被存储为“7;5;9”字符串。在图8中所描绘的表134中,从body元件到图3中所描绘的元件115的路径被存储为“7;3”字符串。在图8中所描绘的表135中,从元件115到图3中所描绘的元件116的路径被存储为“3”字符串。如本领域技术人员将理解的,可以使用任何已知的db类型作为db。例如,它可以是分层的、网络、sql和面向对象的db。在实施用于处理信息系统的数据的用户界面时,用于以标记语言编写文档的方法的结果可以(不限于)如下使用:获得呈现实体类实例的模板;用户在浏览器中启动编辑实体类实例的请求到服务器。浏览器在请求内发送实体类实例的标识符。使用实体类实例的标识符,服务器参考db并且从表132检索实体类的标识符,并且使用它来检索用于呈现来自包括模板文件名称的表120的实体类实例的模板的元数据。服务器将启用程序代码库的元素插入到模板中,该库提供由浏览器(在该方法的下一步上)接收必要的数据和元数据(实体类实例属性的值、数据集和聚合函数的值以及实体类属性的元数据、数据集和它们的字段的元数据,以及包括关于模板元素和实体类实例属性、数据集、它们的字段和聚合函数之间的链接的信息的聚合函数)以及接收到的数据在模板元素中的位置;该库还为用户提供了在浏览器中编辑实体类实例属性的值并将改变后的值存储在db中的可能性;服务器进一步将具有实体类实例的标识符的元素插入到模板中;之后服务器将模板发送到浏览器进行显示。图9描绘了在库位于外部文件中的情况下将用于启用程序代码库和插入实体类实例的标识符的元素插入到模板中的变体的示例137。在一些实施方案中,服务器将库的程序代码插入到模板中。图9描绘了在服务器将库的程序代码插入到模板中的情况下将用于启用程序代码库和插入实体类实例的标识符的元素插入到模板中的变体的示例140。该库可以以由浏览器支持的任何编程语言实施,包括(但不限于)javascript或dart。在一些实施方案中,外部库可以位于经由互联网可用的远程服务器上。接收实体实例、数据集和它们的字段和聚合函数的数据和元数据,包括关于模板元素与实体类实例属性、数据集、它们的字段和聚合函数之间的链接的信息;在一些实施方案中,经由ajax实现接收实体实例、数据集和它们的字段和聚合函数的数据和元数据。在图1、图5和图8中描绘了可能的db结构以及数据和元数据的示例性可能组成。在一些实施方案中,从db接收到的数据和元数据被存储在对象内的浏览器存储器中;在上一步上启用的库的程序代码涉及该对象。图10描绘了用于在浏览器存储器中存储实体实例、数据集和它们的字段的数据和元数据以及聚合函数(包括关于模板元素和实体类实例属性、数据集、它们的字段和聚合函数之间的链接的信息)的对象(作为用于对象生成的以javascript语言编写的程序代码)的示例。示例性对象内的图10中描绘的数据和元数据的组成对应于图1、图5和图8中描绘的数据和元数据的示例性可能组成;描绘实体实例。在一些实施方案中,先前启用的库的程序代码使用在先前步骤上放置到浏览器存储器中的对象,该对象具有实体实例、数据集和它们的字段的聚合函数的数据和元数据以将数据放置在模板元素内。例如:图11中描绘的函数151以循环方式引用对象的阵列144(实体属性的匹配标识符、实体实例属性的值和到用于表示实体类实例属性的值的模板元素的路径被存储在对象内)并且使用辅助函数150找到模板元素,并然后将实体类实例属性的值放入它们中;在图11中描绘的函数152以循环方式引用数据集的阵列145,然后以嵌套循环方式将函数152引用到对象的阵列149(数据集聚合函数的匹配值和到用于表示这些值的模板元素的路径被存储在对象内),并然后将数据集聚合函数的值放入它们中;图12中描绘的函数153以循环方式引用数据集的阵列145,并且使用辅助函数150找到模板元素,并然后将数据集聚合函数的值放入其中;图12中描绘的功能153以循环方式引用数据集的阵列145,并且使用到旨在表示数据集的表部分的行数据的一组模板元素的根元素的路径的值,该值被存储在特征146中,并且辅助函数150找到根元素,然后以嵌套循环方式引用数据集的表部分的行的阵列148,并且如果需要的话,在模板结构中生成模板元素组的附加副本,用于呈现数据集的表部分的行,然后以循环方式使用数据集元素的值的阵列将这些值放入组元素中(使用从根元素到元素的路径的值),该值存储在阵列147中。图13描绘了浏览器对具有实体实例属性值、数据集元素和聚合函数值的示例性模板的视觉表示,该实体实例属性值、数据集元素和聚合函数值放置在模板内并且对应于图10中描绘的浏览器存储器中的示例性对象,并对应于图1、图5和图8中描绘的数据和元数据的示例性可能组成。在一些实施方案中,到模板元素的路径仅用于主要搜索。然后,为这些元素分配临时综合标识符(使用id属性)以缩短引用元素的时间,这是由于使用利用id属性值进行元素搜索的可能性;此种可能性由dom提供。编辑实体类实例;编辑实体类实例改变实体类实例在浏览器中表示的属性值。在一些实施方案中,在使用以html编写的模板的情况下,使用在所见即所得模式下改变实体类实例的属性的值的可能性,为此,在放置实体类实例的属性的值到模板元素中之后,先前启用的库的程序代码进一步为这些元素建立属性contenteditable的true值。在一些实施方案中,使用对话窗口实现改变实体类实例的属性的值,当用户选择对应的模板元素时,窗口出现。在一些实施方案中,为了便于用户处理实体类实例的属性的值的改变,包括可变的值的模板元素被图形标记。在一些实施方案中,为了便于处理对用户的实体类实例的属性的值的改变,包括由用户改变的值的模板元素被图形地标记;存储已改变的实体类实例。用户在浏览器中启动存储改变的实体类实例的过程,实体是先前启用的程序代码库的一部分。使用存储在浏览器存储器中的实体实例及其属性的数据和元数据(例如在对象诸如图10中描绘的示例性对象内),该过程找到具有实体类实例的属性的值的模板元素,读取这些值并请求服务器存储这些值。在一些实施方案中,使用ajax实现对服务器的请求。在一些实施方案中,对服务器的请求仅包括改变实体类实例的属性的值,为此目的,形成请求的过程将位于模板元素中的实体类实例的属性的值与从服务器接收并存储在浏览器存储器中(例如,在对象,诸如图10中描绘的对象内)的实体类实例的属性的值进行比较。服务器处理请求并将实体类实例的属性的值存储在db中。在一些实施方案中,使用orm来实现将实体类实例的属性的值存储在db中。附图描绘了本技术的实施方案中的一个。该详细描述是使用不同的非限制性和非穷举性实施方案编写的。如本领域技术人员将理解的,可以在本技术解决方案的范围内(全部或部分)实现任何所描述的实施方案的不同变化、修改和组合。因此,旨在意为本描述包括没有明确阐述的附加实施方案。此类实施方案可以通过例如与所描述的非限制性实施方案相关联的任何动作、组件、元素、特征、方面、特性等的组合、修改和变换来获得。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1