CN116127926B - 生成数据体的xslt文件的方法、装置、设备及介质 - Google Patents
生成数据体的xslt文件的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116127926B CN116127926B CN202310402828.9A CN202310402828A CN116127926B CN 116127926 B CN116127926 B CN 116127926B CN 202310402828 A CN202310402828 A CN 202310402828A CN 116127926 B CN116127926 B CN 116127926B
- Authority
- CN
- China
- Prior art keywords
- data
- component
- conversion
- input
- components
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种生成数据体的XSLT文件的方法、装置、设备及介质,涉及数据处理技术领域,其中,该方法包括:在浏览器中生成可视化的网页界面,并在网页界面上创建编辑区域、组件面板和数据绑定表单,组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件;针对被移至编辑区域内的组件,通过数据绑定表单接收针对每个组件输入的数据信息,根据在编辑区域内输入的关联指令,获取各组件间的关联信息;根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;通过转换引擎将所述JSON数据体转换为XSLT转换文件。该方案可以提高XSLT数据转换的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种生成数据体的XSLT文件的方法、装置、设备及介质。
背景技术
可扩展样式表转换语言(Extensible Stylesheet Language Transformations,简称为XSLT)是一种样式转换标记语言,可以将XML数据档转换为另外的XML或其它格式,如HTML网页、纯文字等。XSLT最末的T字母表示英语中的“转换”(transformation)。它是XSL规范中的一部分,最新的建议版本为XSL 3.0。
面对复杂的数据结构,使用XSLT进行数据体转换是目前比较流行的一种实现方式。但XSLT描述转换规则相对比较复杂,XSLT语言熟悉的人员比较少,需要比较高的学习成本,使得直接使用XSLT进行数据体转换存在效率低的问题。
发明内容
有鉴于此,本发明实施例提供了一种生成数据体的XSLT文件的方法,以解决现有技术中数据体转换存在效率低的技术问题。该方法包括:
在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,其中,所述组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑;
响应于所述组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息;
根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;
通过转换引擎将所述JSON数据体转换为XSLT转换文件。
本发明实施例还提供了一种生成数据体的XSLT文件的装置,以解决现有技术中数据体转换存在效率低的技术问题。该装置包括:
网页创建模块,用于在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,其中,所述组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑;
信息接收模块,用于响应于所述组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息;
数据体生成模块,用于根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;
转换文件生成模块,用于通过转换引擎将所述JSON数据体转换为XSLT转换文件。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的生成数据体的XSLT文件的方法,以解决现有技术中数据体转换存在效率低的技术问题。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的生成数据体的XSLT文件的方法的计算机程序,以解决现有技术中数据体转换存在效率低的技术问题。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:提出了在浏览器中生成可视化的网页界面,并在网页界面上创建编辑区域、组件面板和数据绑定表单,并响应于组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过数据绑定表单接收针对每个组件输入的数据信息,根据在编辑区域内输入的关联指令,获取各组件间的关联信息;进而根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;最后,通过转换引擎将所述JSON数据体转换为XSLT转换文件。实现了基于可视化的网页界面的XSLT转换文件的生成方法,使得数据格式的转换操作可视化;同时,根据在编辑区域内针对组件输入的每个组件的数据信息和关联指令,自动生成JSON数据体,进而通过转换引擎将JSON数据体转换为XSLT转换文件,即生成XSLT转换文件的过程是自动、智能完成,只需输出每个组件的数据信息和关联指令,无需人员对XSLT语言进行操作,使得在生成XSLT转换文件的过程中简化了需要人员进行的相关操作,极大的降低了XSLT数据转换的操作难度和工作量,实现了可以快速、便捷的生成XSLT转换文件,有利于提高XSLT数据转换的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种生成数据体的XSLT文件的方法的流程图;
图2是本发明实施例提供的一种上述生成数据体的XSLT文件的方法的原理结构示意图;
图3是本发明实施例提供的一种设计器初始化的流程图;
图4是本发明实施例提供的一种设计器的可视化网页界面的示意图;
图5是本发明实施例提供的一种设计器的工作原理示意图;
图6是本发明实施例提供的一种设计器生成转换逻辑的示意图;
图7是本发明实施例提供的一种后端转换引擎的组成架构示意图;
图8是本发明实施例提供的一种转换引擎生成XSLT文件逻辑的流程示意图;
图9是本发明实施例提供的一种计算机设备的结构框图;
图10是本发明实施例提供的一种生成数据体的XSLT文件的装置的结构框图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中,提供了一种生成数据体的XSLT文件的方法,如图1所示,该方法包括:
步骤S101:在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,其中,所述组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑;
步骤S102:响应于所述组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息;
步骤S103:根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;
步骤S104:通过转换引擎将所述JSON数据体转换为XSLT转换文件。
由图1所示的流程可知,在本发明实施例中,实现了基于可视化的网页界面的XSLT转换文件的生成方法,使得数据格式的转换操作可视化;同时,根据在编辑区域内针对组件输入的每个组件的数据信息和关联指令,自动生成JSON数据体,进而通过转换引擎将JSON数据体转换为XSLT转换文件,即生成XSLT转换文件的过程是自动、智能完成,只需输出每个组件的数据信息和关联指令,无需人员对XSLT语言进行操作,使得在生成XSLT转换文件的过程中简化了需要人员进行的相关操作,极大的降低了XSLT数据转换的操作难度和工作量,实现了可以快速、便捷的生成XSLT转换文件,有利于提高XSLT数据转换的效率。
具体实施时,如图2所示,在上述生成数据体的XSLT文件的方法中,步骤S101至步骤S103的功能可以通过前端设计器的形式实现,即前端设计器为开发人员提供可视化数据交换界面,以便接收开发人员针对组件输入的数据信息和组件的关联指令,生成JSON数据体。步骤S104的功能可以通过后端转换引擎的形式实现,即后端转换器主要完成XSLT文件的生成,进而生成的XSLT文件通过执行引擎来执行。
具体实施时,提供给开发人员完成数据转换逻辑编辑的可视化交互界面,在本实施例中,通过以下方法生成可视化的网页界面:执行Typescript程序,在所述浏览器中创建一个画布,并在所述画布上创建所述编辑区域、所述组件面板和所述数据绑定表单。
具体的,编辑区域是用于对组件进行逻辑编辑的区域,例如,响应于开发人员将组件面板中的组件通过拖拽等方式移至编辑区域内后,通过检测开发人员对组件进行的点击、选中等操作,响应于该操作通过数据绑定表单来显示组件对应的信息项或数据项,以便接收开发人员针对组件的信息项或数据项输入的数据信息,并将接收的数据信息与对应的组件进行绑定。
具体实施时,在创建上述组件面板时,组件面板中可以包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑,例如,转换逻辑组件可以包括统计组件(用于实现统计的逻辑)、条件判断逻辑组件(用于实现条件判断的逻辑,例如,大于、等于、小于等条件判断逻辑)、列表组件(用于实现数组、数列的逻辑)、字符组件(用于实现字符串的处理逻辑)、数字组件(用于实现输入数字)等等;为了便于满足不同的数据体转换需求,组件面板还可以包括自定义组件,以便可以扩展不同的转换逻辑。具体的,组件面板中各个组件以图形的形式实现。
具体实施时,生成上述可视化的网页界面的过程可以基于前端设计器的形式实现,设计器以浏览器为引擎,基于web的解决方案,方便集成到其它系统和系统云化。
具体的,如图3所示,设计器初始化的逻辑如下:
初始化是系统在浏览器中初始创建设计器的过程,用于生成设计器的界面。设计器使用Typescript语言开发,在浏览器中利用HTML、CSS、SVG生成可视化网页界面,提供给用户操作使用。可视化主要是使用了SVG技术创建出一个画布,所有的图形将在画布上操作和展示。创建完画布后,如图4所示,分别在画布上面创建工具栏、组件面板、数据绑定的Form表单(即图4所示的“数据绑定”)以及编辑区域(即图4所示的“可视化编辑区”)。界面创建完成后再初始化临时的JSON数据体,以便于后续在具体生成数据体的XSLT文件的过程中根据实际的编辑操作来修改、保存JSON数据体。
具体的,HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签。通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
CSS层叠样式表(Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
Typescript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。Typescript通过Typescript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。
SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide WebConsortium(W3C)联盟进行开发的。
具体实施时,为了实现便捷、可视化的生成XSLT文件,在本实施例中,提出了基于图形可视化的网页界面实现转换逻辑的编辑,例如,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,包括:
针对被移至所述编辑区域内的所述输入数据体组件,通过所述数据绑定表单接收针对所述输入数据体组件输入的输入数据体的结构描述;
针对被移至所述编辑区域内的所述输出数据体组件,通过所述数据绑定表单接收针对所述输出数据体组件输入的输出数据体的结构描述;
针对被移至所述编辑区域内的至少一个所述转换逻辑组件,通过所述数据绑定表单接收针对每个所述转换逻辑组件输入的转换描述信息。
具体的,如图5、6所示,开发人员可以在网页界面上对图形化的组件进行编辑操作,以实现可视化转换逻辑设计的过程,使得开发人员可以简单、快速的通过拖拉拽的方式在浏览器中编辑数据转换的逻辑。例如,开发人员可以将输入数据体组件从组件面板中拖入可视化编辑区域内,然后对输入数据体组件进行点击、选中等操作,响应于该操作通过数据绑定表单显示输入数据体组件的数据项或信息项,进而接收开发人员针对输入数据体组件的数据项或信息项输入的数据信息,即输入数据体的schema定义(结构描述),例如,输入数据体的格式;同理,开发人员可以将输出数据体组件从组件面板中拖入可视化编辑区域内,然后对输出数据体组件进行点击、选中等操作,响应于该操作通过数据绑定表单显示输出数据体组件的数据项或信息项,进而接收开发人员针对输出数据体组件的数据项或信息项输入的数据信息,即输出数据体的schema定义(结构描述),例如,输出数据体的格式;开发人员还可以将所需的转换逻辑组件拖入编辑区域内,然后对转换逻辑组件进行点击、选中等操作,响应于该操作通过数据绑定表单显示转换逻辑组件的数据项或信息项,进而接收开发人员针对转换逻辑组件的数据项或信息项输入的转换描述信息,例如,大于、小于等逻辑判断,以及大于的条件、小于的条件等逻辑判断的条件。
具体实施时,为了实现便捷、可视化的生成XSLT文件,在本实施例中,提出了基于图形可视化的网页界面实现转换逻辑的编辑,例如,针对被移至所述编辑区域内的组件,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息,包括:
每个组件包括至少一个信息项,每个信息项对应包括输入端和输出端,根据在所述编辑区域内每两个组件间输入的连线情况,获取各组件间的关联关系,其中,每条连线连接两个组件,一条连线的一端连接两个组件中第一组件的一个信息项的输出端,该一条连线的另一端连接两个组件中第二组件的一个信息项的输入端,被同一条连线连接的两个组件间的关联关系为该一条连线连接的输出端的输出为该一条连线连接的输入端的输入。
具体的,可以输入多种形式的关联指令,例如,可以是文字信息形式的、语音形式的,为了进一步实现编辑的可视化、便捷,如图6所示,提出了输入连线形式的关联指令。在编辑区域内,针对两个组件输入一条连线即表明这两个组件之间存在关联关系,每条连线可以有箭头,表示数据流向。在输入数据体组件至输出数据体组件之间存在多条不同连线时,由输入数据体组件到输出数据体组件的方向为各个连线连接的转换逻辑组件的转换顺序,例如,输入数据体组件到输出数据体组件之间存在A、B、C三个转换逻辑组件,输入数据体组件和A之间连接一条连线,A和B之间连接一条连线,B和C之间连接一条连线,C和输出数据体组件之间连接一条连线,则转换逻辑顺序为由输入数据体组件依次进行A、B、C三个转换逻辑组件的转换逻辑,再到输出数据体组件。以图6中的输入数据体组件(即图6中编辑区域内的“数据输入”)为例,该输入数据体组件右侧的多个输出端即为输入数据体组件的publicer、name、title等各个信息项分别对应的输出端。以图6中的条件组件为例,该条件组件左侧的多个输入端即为条件组件bool、true等各个信息项分别对应的输入端,该条件组件右侧的一个输出端即为条件组件Result信息项对应的输出端。输入的每一条连线用于连接两个组件,并且连线的一端连接一个组件的一个输入端,连线的另一端连接另一个组件的一个输出端。
具体实施时,如图5所示,针对编辑区域内的每一次编辑操作,都会被浏览器传导给Typescript程序,Typescript程序根据操作事件类型采用HTML生成响应的描述,进而采用SVG基于HTML的描述在网页界面中绘制相应的组件操作,并采用CSS绘制网页界面的颜色、宽度等,进而通过浏览器动态的对网页界面进行可视化展示。同时,Typescript程序将修改初始化的JSON数据体,以缓存最新数据。
具体实施时,在上述网页界面上还创建有工具栏,通过转换引擎将所述JSON数据体转换为XSLT转换文件,包括:
在接收到对所述工具栏中保存组件的触发信号时,读取所述JSON数据体,并通过所述转换引擎将所述JSON数据体转换为XSLT转换文件。
具体的,开发人员在网页界面上设计的数据转换逻辑定稿后,可以进行保存操作,保存操作是进行XSLT转换的一步前端操作。例如,开发人员在工具栏中点击或触发保存按钮后,浏览器将事件传递给Typescript程序,Typescript程序将读取JSON数据体数据,并将JSON数据体数据发送给后端的转换引擎,进行数据转换。提交的JSON数据体数据中包括设计数据转换逻辑中针对输入数据体组件输入的输入数据体的schema描述、针对输出数据体组件输入的输出数据体的schema描述以及所有其他可视化转换逻辑组件的描述和各个组件间连线关系的描述(即上述各组件间的关联信息)。
具体实施时,上述工具栏中还可以包括其他组件,例如,还可以包括编辑区域的最大化组件、组件编组(用于将组件面板中的多个组件视为一组进行整体操作)、图片生成组件等等。
具体实施时,设计器初始完成后,即可提供给开发人员使用。开发人员使用设计器的操作分为2类,一个是编辑操作,一个是保存操作。其中,通过编辑操作针对每个组件输入数据信息和关联指令,Typescript程序根据针对每个组件输入的数据信息和关联指令生成JSON数据体数据,通过保存操作,触发Typescript程序将JSON数据体数据发送给后端转换引擎,以便通过转换引擎将JSON数据体数据转换为XSLT转换文件。
具体实施时,为了实现准确、快速的将JSON数据体转换为XSLT转换文件,在本实施例中,通过转换引擎将所述JSON数据体转换为XSLT转换文件,包括:
解析所述JSON数据体,获得输入数据体的结构描述、输出数据体的结构描述和各组件间的关联信息;
根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,生成XSLT函数和数据转换业务逻辑;
根据所述XSLT函数和所述数据转换业务逻辑生成XSLT文件。
具体的,如图7所示,后端转换引擎是完成将JSON数据体数据转换成XSLT文件的功能。转换引擎接收到前端设计器提交的JSON数据体数据后,对JSON数据体数据进行解析,对解析得到的数据进行逻辑转换,进而将JSON描述数据转换成通用的XSLT转换文件。
具体的,整个后端转换引擎可以采用JAVA语言开发,使用目前流行的Spring Boot开发框架。
具体实施时,为了进一步确保XSLT转换文件的准确性,在本实施例中,根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,生成XSLT函数和数据转换业务逻辑,包括:
根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,递归搜索出从所述输入数据体组件到所述输出数据体组件之间所采用的每个所述转换逻辑组件,根据每个所述转换逻辑组件的关联信息和每个所述转换逻辑组件的数据转换逻辑,生成每个所述转换逻辑组件对应的XSLT函数,并根据每个所述转换逻辑组件的关联信息,生成各所述转换逻辑组件间进行数据转换的逻辑顺序。
具体的,如图8所示,在生成XSLT文件的过程中,先通过预处理完成将输入数据进行实体和关系的提取。比如,通过解析JSON数据体来提取输入数据体的schema格式、输出数据体的schema格式以及各组件的连线关系(即各组件间的关联信息,图8中的节点即为组件)。提取出转换引擎需要的数据,并将这些数据缓存到内存。
进而基于提取出的输入数据体的结构描述、输出数据体的结构描述和各组件间的关联信息,进行递归处理,递归搜索出从输入数据体组件到输出数据体组件之间所采用的每个转换逻辑组件,得到每个所述转换逻辑组件的关联信息和每个所述转换逻辑组件的数据转换逻辑,即递归搜索从输出数据字段到输入数据字段间所经过的转换逻辑组件以及转换逻辑组件之间连线的关系,也就是说,得到输出数据字段经过多少个转换逻辑组件,由哪几个输入数据组成等相关信息,递归完所有关系后,将梳理出的数据保存到内存。具体的,针对某个组件处理的数据为数组时,进行循环递归处理。
在递归处理之后,进行推理处理,即根据每个所述转换逻辑组件的关联信息和每个所述转换逻辑组件的数据转换逻辑,生成每个所述转换逻辑组件对应的XSLT函数,并根据每个所述转换逻辑组件的关联信息,生成各所述转换逻辑组件间进行数据转换的逻辑顺序。新生成的一段业务关系会添加到最终的XSLT缓存中。以便根据推理处理完成的XSLT缓存数据生成XSLT文件。可以将生成的XSLT以文件的方式保存到系统文件中,也可以保存到数据库中。
具体实施时,上述生成数据体的XSLT文件的方法可以应用于数据交换平台领域,特别是应用系统集成场景下以浏览器为引擎的应用场景。
在本实施例中,提供了一种计算机设备,如图9所示,包括存储器901、处理器902及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的生成数据体的XSLT文件的。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的生成数据体的XSLT文件的的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种生成数据体的XSLT文件的装置,如下面的实施例所述。由于生成数据体的XSLT文件的装置解决问题的原理与生成数据体的XSLT文件的方法相似,因此生成数据体的XSLT文件的装置的实施可以参见生成数据体的XSLT文件的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是本发明实施例的生成数据体的XSLT文件的装置的一种结构框图,如图10所示,该装置包括:
网页创建模块1001,用于在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,其中,所述组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑;
信息接收模块1002,用于响应于所述组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息;
数据体生成模块1003,用于根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;
转换文件生成模块1004,用于通过转换引擎将所述JSON数据体转换为XSLT转换文件。
在一个实施例中,网页创建模块,用于执行Typescript程序,在所述浏览器中创建一个画布,并在所述画布上创建所述编辑区域、所述组件面板和所述数据绑定表单。
在一个实施例中,信息接收模块,用于针对被移至所述编辑区域内的所述输入数据体组件,通过所述数据绑定表单接收针对所述输入数据体组件输入的输入数据体的结构描述;针对被移至所述编辑区域内的所述输出数据体组件,通过所述数据绑定表单接收针对所述输出数据体组件输入的输出数据体的结构描述;针对被移至所述编辑区域内的至少一个所述转换逻辑组件,通过所述数据绑定表单接收针对每个所述转换逻辑组件输入的转换描述信息。
在一个实施例中,信息接收模块,用于每个组件包括至少一个信息项,每个信息项对应包括输入端和输出端,根据在所述编辑区域内每两个组件间输入的连线情况,获取各组件间的关联关系,其中,每条连线连接两个组件,一条连线的一端连接两个组件中第一组件的一个信息项的输出端,该一条连线的另一端连接两个组件中第二组件的一个信息项的输入端,被同一条连线连接的两个组件间的关联关系为该一条连线连接的输出端的输出为该一条连线连接的输入端的输入。
在一个实施例中,转换文件生成模块,用于在接收到对工具栏中保存组件的触发信号时,读取所述JSON数据体,并通过所述转换引擎将所述JSON数据体转换为XSLT转换文件,其中,所述网页界面上还创建有工具栏。
在一个实施例中,转换文件生成模块,用于解析所述JSON数据体,获得输入数据体的结构描述、输出数据体的结构描述和各组件间的关联信息;
根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,生成XSLT函数和数据转换业务逻辑;
根据所述XSLT函数和所述数据转换业务逻辑生成XSLT文件。
在一个实施例中,转换文件生成模块,用于根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,递归搜索出从所述输入数据体组件到所述输出数据体组件之间所采用的每个所述转换逻辑组件,根据每个所述转换逻辑组件的关联信息和每个所述转换逻辑组件的数据转换逻辑,生成每个所述转换逻辑组件对应的XSLT函数,并根据每个所述转换逻辑组件的关联信息,生成各所述转换逻辑组件间进行数据转换的逻辑顺序。
本发明实施例实现了如下技术效果:实现了基于可视化的网页界面的XSLT转换文件的生成方法,使得数据格式的转换操作可视化;同时,根据在编辑区域内针对组件输入的每个组件的数据信息和关联指令,自动生成JSON数据体,进而通过转换引擎将JSON数据体转换为XSLT转换文件,即生成XSLT转换文件的过程是自动、智能完成,只需输出每个组件的数据信息和关联指令,无需人员对XSLT语言进行操作,使得在生成XSLT转换文件的过程中简化了需要人员进行的相关操作,极大的降低了XSLT数据转换的操作难度和工作量,实现了可以快速、便捷的生成XSLT转换文件,有利于提高XSLT数据转换的效率。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种生成数据体的XSLT文件的方法,其特征在于,包括:
在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,其中,所述组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑;
响应于所述组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息;
根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;
通过转换引擎将所述JSON数据体转换为XSLT转换文件;
针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,包括:
针对被移至所述编辑区域内的所述输入数据体组件,通过所述数据绑定表单接收针对所述输入数据体组件输入的输入数据体的结构描述;
针对被移至所述编辑区域内的所述输出数据体组件,通过所述数据绑定表单接收针对所述输出数据体组件输入的输出数据体的结构描述;
针对被移至所述编辑区域内的至少一个所述转换逻辑组件,通过所述数据绑定表单接收针对每个所述转换逻辑组件输入的转换描述信息,所述转换描述信息包括逻辑判断的条件;
针对被移至所述编辑区域内的组件,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息,包括:
每个组件包括至少一个信息项,每个信息项对应包括输入端和输出端,根据在所述编辑区域内每两个组件间输入的连线情况,获取各组件间的关联关系,其中,每条连线连接两个组件,一条连线的一端连接两个组件中第一组件的一个信息项的输出端,该一条连线的另一端连接两个组件中第二组件的一个信息项的输入端,被同一条连线连接的两个组件间的关联关系为该一条连线连接的输出端的输出为该一条连线连接的输入端的输入;在输入数据体组件至输出数据体组件之间存在多条不同连线时,由输入数据体组件到输出数据体组件的方向为各个连线连接的转换逻辑组件的转换顺序。
2.如权利要求1所述的生成数据体的XSLT文件的方法,其特征在于,在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,包括:
执行Typescript程序,在所述浏览器中创建一个画布,并在所述画布上创建所述编辑区域、所述组件面板和所述数据绑定表单。
3.如权利要求1所述的生成数据体的XSLT文件的方法,其特征在于,所述网页界面上还创建有工具栏,通过转换引擎将所述JSON数据体转换为XSLT转换文件,包括:
在接收到对所述工具栏中保存组件的触发信号时,读取所述JSON数据体,并通过所述转换引擎将所述JSON数据体转换为XSLT转换文件。
4.如权利要求1至3中任一项所述的生成数据体的XSLT文件的方法,其特征在于,通过转换引擎将所述JSON数据体转换为XSLT转换文件,包括:
解析所述JSON数据体,获得输入数据体的结构描述、输出数据体的结构描述和各组件间的关联信息;
根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,生成XSLT函数和数据转换业务逻辑;
根据所述XSLT函数和所述数据转换业务逻辑生成XSLT文件。
5.如权利要求4所述的生成数据体的XSLT文件的方法,其特征在于,根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,生成XSLT函数和数据转换业务逻辑,包括:
根据所述输入数据体的结构描述、所述输出数据体的结构描述和所述各组件间的关联信息,递归搜索出从所述输入数据体组件到所述输出数据体组件之间所采用的每个所述转换逻辑组件,根据每个所述转换逻辑组件的关联信息和每个所述转换逻辑组件的数据转换逻辑,生成每个所述转换逻辑组件对应的XSLT函数,并根据每个所述转换逻辑组件的关联信息,生成各所述转换逻辑组件间进行数据转换的逻辑顺序。
6.一种生成数据体的XSLT文件的装置,其特征在于,包括:
网页创建模块,用于在浏览器中生成可视化的网页界面,并在所述网页界面上创建编辑区域、组件面板和数据绑定表单,其中,所述组件面板中包括输入数据体组件、输出数据体组件以及数据转换所需的至少一个转换逻辑组件,不同的转换逻辑组件完成不同的数据转换逻辑;
信息接收模块,用于响应于所述组件面板中有组件被移至所述编辑区域内,针对被移至所述编辑区域内的组件,通过所述数据绑定表单接收针对每个组件输入的数据信息,根据在所述编辑区域内输入的关联指令,获取各组件间的关联信息;
数据体生成模块,用于根据接收的每个组件输入的数据信息和各组件间的关联信息生成JSON数据体;
转换文件生成模块,用于通过转换引擎将所述JSON数据体转换为XSLT转换文件;
所述信息接收模块,用于针对被移至所述编辑区域内的所述输入数据体组件,通过所述数据绑定表单接收针对所述输入数据体组件输入的输入数据体的结构描述;针对被移至所述编辑区域内的所述输出数据体组件,通过所述数据绑定表单接收针对所述输出数据体组件输入的输出数据体的结构描述;针对被移至所述编辑区域内的至少一个所述转换逻辑组件,通过所述数据绑定表单接收针对每个所述转换逻辑组件输入的转换描述信息,所述转换描述信息包括逻辑判断的条件;
所述信息接收模块,用于每个组件包括至少一个信息项,每个信息项对应包括输入端和输出端,根据在所述编辑区域内每两个组件间输入的连线情况,获取各组件间的关联关系,其中,每条连线连接两个组件,一条连线的一端连接两个组件中第一组件的一个信息项的输出端,该一条连线的另一端连接两个组件中第二组件的一个信息项的输入端,被同一条连线连接的两个组件间的关联关系为该一条连线连接的输出端的输出为该一条连线连接的输入端的输入,在输入数据体组件至输出数据体组件之间存在多条不同连线时,由输入数据体组件到输出数据体组件的方向为各个连线连接的转换逻辑组件的转换顺序。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的生成数据体的XSLT文件的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5中任一项所述的生成数据体的XSLT文件的方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310402828.9A CN116127926B (zh) | 2023-04-17 | 2023-04-17 | 生成数据体的xslt文件的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310402828.9A CN116127926B (zh) | 2023-04-17 | 2023-04-17 | 生成数据体的xslt文件的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116127926A CN116127926A (zh) | 2023-05-16 |
CN116127926B true CN116127926B (zh) | 2023-08-04 |
Family
ID=86295926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310402828.9A Active CN116127926B (zh) | 2023-04-17 | 2023-04-17 | 生成数据体的xslt文件的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127926B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983958A (zh) * | 2006-04-23 | 2007-06-20 | 华为技术有限公司 | 一种生成两套网管系统的方法 |
CN104267949A (zh) * | 2014-09-25 | 2015-01-07 | 成都国科海博信息技术股份有限公司 | 表单设计器及表单设计方法 |
CN112084446A (zh) * | 2020-08-16 | 2020-12-15 | 中信百信银行股份有限公司 | 一种网页编辑方法、编辑器、电子设备和可读存储介质 |
CN113900958A (zh) * | 2021-10-29 | 2022-01-07 | 中国电信股份有限公司 | 测试用例脚本的生成方法、系统、介质及电子设备 |
CN115220709A (zh) * | 2021-04-21 | 2022-10-21 | 深圳联友科技有限公司 | 一种vue页面编辑方法、系统以及计算机可读存储介质 |
CN115392193A (zh) * | 2022-08-23 | 2022-11-25 | 中国民航信息网络股份有限公司 | 报文转换代码的生成方法、相关装置及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9059895B2 (en) * | 2009-12-08 | 2015-06-16 | Cisco Technology, Inc. | Configurable network management system event processing using simple network management table indices |
-
2023
- 2023-04-17 CN CN202310402828.9A patent/CN116127926B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983958A (zh) * | 2006-04-23 | 2007-06-20 | 华为技术有限公司 | 一种生成两套网管系统的方法 |
CN104267949A (zh) * | 2014-09-25 | 2015-01-07 | 成都国科海博信息技术股份有限公司 | 表单设计器及表单设计方法 |
CN112084446A (zh) * | 2020-08-16 | 2020-12-15 | 中信百信银行股份有限公司 | 一种网页编辑方法、编辑器、电子设备和可读存储介质 |
CN115220709A (zh) * | 2021-04-21 | 2022-10-21 | 深圳联友科技有限公司 | 一种vue页面编辑方法、系统以及计算机可读存储介质 |
CN113900958A (zh) * | 2021-10-29 | 2022-01-07 | 中国电信股份有限公司 | 测试用例脚本的生成方法、系统、介质及电子设备 |
CN115392193A (zh) * | 2022-08-23 | 2022-11-25 | 中国民航信息网络股份有限公司 | 报文转换代码的生成方法、相关装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116127926A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8311797B2 (en) | Viewing system that supports multiple electronic document types | |
US20160283499A1 (en) | Webpage advertisement interception method, device and browser | |
CN109710250B (zh) | 一种用于构建用户界面的可视化引擎系统及方法 | |
US20130124969A1 (en) | Xml editor within a wysiwyg application | |
CN110825382A (zh) | 一种前端大数据树形结构展示方法 | |
CN112463152A (zh) | 一种基于ast的网页适配方法及装置 | |
CN110347390B (zh) | 一种快速生成web页面的方法、存储介质、设备及系统 | |
JPWO2006051954A1 (ja) | 文書処理装置及び文書処理方法 | |
US20060271850A1 (en) | Method and apparatus for transforming a printer into an XML printer | |
CN111124481A (zh) | 网页应用程序的安装包生成方法、装置、存储介质及设备 | |
US11416526B2 (en) | Editing and presenting structured data documents | |
CN109101520A (zh) | 一种电子手册和电子手册的显示方法 | |
Liu et al. | An XML-enabled data extraction toolkit for web sources | |
CN116127926B (zh) | 生成数据体的xslt文件的方法、装置、设备及介质 | |
CN115328353B (zh) | 一种生成iconfont资源的方法、装置以及介质 | |
JPWO2006051956A1 (ja) | サーバ装置及び検索方法 | |
CN114637505A (zh) | 一种页面内容提取方法和装置 | |
CN116009863B (zh) | 前端页面渲染方法、设备及存储介质 | |
US20240126978A1 (en) | Determining attributes for elements of displayable content and adding them to an accessibility tree | |
CN117289905B (zh) | 一种应用软件开发方法和装置、存储介质和电子设备 | |
CN116225421A (zh) | 自定义模板的通用专家评审评价系统、方法、介质及设备 | |
JP2001344267A (ja) | Xml文書問い合わせ言語処理装置 | |
Rabby | ScrapBook: The Web Application Based On Web Scraping | |
CN113703745A (zh) | 页面生成方法及装置、计算机可读存储介质、电子设备 | |
CN117270847A (zh) | 前端页面的生成方法及装置、设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |