CN117234477A - 基于内置xsd解析器自动生成动态可视化配置界面的方法 - Google Patents
基于内置xsd解析器自动生成动态可视化配置界面的方法 Download PDFInfo
- Publication number
- CN117234477A CN117234477A CN202311228766.0A CN202311228766A CN117234477A CN 117234477 A CN117234477 A CN 117234477A CN 202311228766 A CN202311228766 A CN 202311228766A CN 117234477 A CN117234477 A CN 117234477A
- Authority
- CN
- China
- Prior art keywords
- xsd
- tag
- parser
- configuration interface
- dynamic visual
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000000007 visual effect Effects 0.000 title claims abstract description 27
- 238000002441 X-ray diffraction Methods 0.000 title description 3
- 238000009877 rendering Methods 0.000 claims abstract description 35
- 238000004458 analytical method Methods 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提出基于内置XSD解析器自动生成动态可视化配置界面的方法,通过在内置XSD解析器的服务器端根据标签属性标记输出值,从而对待解析XSD文件直接进行解析,然后将输出值传输至客户端,最后客户端根据输出值进行DOM节点界面渲染,以及对应事件的增删操作,进而生成动态可视化配置界面。本发明避免了生成XML文件和document对象,抛去多余步骤,提升前端渲染效率,增加可控性。因将XSD直接转换成对应DOM节点,可直接适配多个场景。该方法支持多个前端框架,可直接按照该方法来实现界面渲染,可根据指定的Class类进行CSS样式修改,也可给生成的DOM节点添加指定事件,有更好的可扩展性。
Description
技术领域
本发明涉及信息技术领域,具体涉及基于内置XSD解析器自动生成动态可视化配置界面的方法。
背景技术
XSD(XML Schemas Definition,XML结构定义)作为DTD(Document TypeDefination,文档类型定义)的替代品,是一种用于定义XML文档结构和内容的语言。XMLSchemas描述了XML文档的结构,指定的XML Schemas可以用于验证某个XML文档的结构和内容是否符合定义的规范要求。文档设计者可以通过XSD指定一个XML文档允许的结构和内容,并可据此检查一个XML文档是否有效。XML Schema本身是一个XML文档,其符合XML语法结构。可以采用通用的XML解析器对它进行解析。
一个XML Schema能够对以下几个部分进行定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。XSD作为DTD替代者的原因包括以下几点:1、根据将来的条件可扩展;2、相比于DTD更加丰富和有用;3、XSD是采用XML文档进行书写的;4、支持数据类型,例如字符串、整数以及日期等;5、支持命名空间;6、XSD文件的后缀名为.xsd。XSD作为DTD技术的替代者,可以针对未来的需求进行扩展,功能更加强大完善,并且支持数据类型以及命名空间。
随着前端技术的快速发展,XML到JSON这一数据交换方式应用的场景也更加广泛。目前使用XSD进行可视化配置的方法是通过XSD来解析生成对应的document对象,该方法需要先将XSD解析生成对应的XML,然后再解析加载XML文件来生成对应的document对象,最后对前端界面进行渲染。
发明内容
本发明要解决的技术问题是:1、XSD解析出来的可视化界面过于单一,无法在更多的应用场景中进行使用;2、可扩展性较弱,目前只能通过定制的方式进行扩展,无法共通;3、多个XSD文件待解析显示时,很难保证任一XSD文件解析显示出对应的前端界面。
为了解决上述技术问题,本发明的技术方案是提供了基于内置XSD解析器自动生成动态可视化配置界面的方法,用于对待解析文件进行解析并渲染为动态可视化配置界面,所述XSD解析器包括服务器端和客户端,所述方法包括以下步骤:步骤1、所述客户端向所述服务器端发送所述待解析XSD文件的地址和解析规则,以使所述服务器端根据所述解析规则,对所述待解析XSD文件进行解析,并将所述待解析XSD文件的解析结果发送至所述客户端。步骤2、所述客户端接收来自所述服务器端发送的所述解析结果。步骤3、所述客户端根据所述解析结果中的属性进行DOM节点的界面渲染和对应事件的增删操作。步骤4、根据所述界面渲染和对应事件的增删操作得到所述动态可视化配置界面。
优选地,在所述步骤1中,所述解析规则包括自定义标签规则以及所述客户端指定查询的标签内容。
优选地,所述步骤1包括以下步骤:
步骤101、所述客户端向所述服务器端发送所述待解析XSD文件的地址所述解析规则。步骤102、所述服务器端根据所述地址查询到所述待解析文件,并根据所述解析规则中的所述标签内容的名称,查询所述客户端指定查询的标签内容。步骤103、若查询到所述指定的标签内容,则根据所述指定的标签内容的标签类型进行解析;若查询到的所述指定的标签内容之外的标签内容,则根据自定义标签规则进行解析。步骤104、将步骤103解析得到的解析结果发送至所述客户端。
优选地,在所述步骤103中,若所述标签内容为xsd:complexType标签,则将所述xsd:complexType标签中内部元素放入数组,type属性的输出为array,并设置maxOccurs值用以判断是否进行增删操作。若所述标签内容为xsd:element标签或xsd:restriction标签,则对所述xsd:element标签或xsd:restriction标签的type属性进行分析。
优选地,所述分析包括:若xsd:element标签中的type值为string,则输出为input;若xsd:restriction标签中的type值为date,则输出为date;若type值对应多个xsd:enumeration标签,则输出为select。
优选地,在所述步骤3中,根据所述maxOccurs值判断是否对所述数组进行对应事件的增删操作。
优选地,在所述步骤3中,若type属性的输出为input,则渲染为输入框;若type属性的输出为date,则渲染为日期选择框;若type属性的输出为select,则渲染为选择框;若type属性的输出为array,则渲染为卡片组,并对其内部元素进行遍历渲染。
优选地,所述方法在nodejs环境下启用;在所述步骤1之前,所述服务器端使用nodejs的net模块创建一个TCP(Transimision Control Protocal,传输控制协议)服务,以建立所述服务器端和客户端之间的通讯。
本发明提出基于内置XSD解析器自动生成动态可视化配置界面的方法,通过在内置XSD解析器的服务器端根据标签属性标记输出值,从而对待解析XSD文件直接进行解析,然后将输出值传输至客户端,最后客户端根据输出值进行DOM节点界面渲染,以及对应事件的增删操作,进而生成动态可视化配置界面。本发明避免了生成XML文件和document对象,抛去多余步骤,提升前端渲染效率,增加可控性。因将XSD直接转换成对应DOM节点,可直接适配多个场景。该方法支持多个前端框架,可直接按照该方法来实现界面渲染,可根据指定的Class类进行CSS样式修改,也可给生成的DOM节点添加指定事件,有更好的可扩展性。
附图说明
图1为XSD解析器的服务端和客户端的工作流程图;
图2为内置XSD解析器自动生成动态可视化配置界面的方法流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明出现的相关术语及概念,如表1所示。
表1
本实施例公开的基于内置XSD解析器自动生成动态可视化配置界面的方法,XSD解析器包括服务器端和客户端,服务器端用于解析XSD文件并传输给客户端模块,客户端用于进行DOM节点渲染,并自动生成动态可视化配置界面。客户端可向XSD解析器传递XSD文件的地址、自定义标签规则以及客户端指定要查询的标签内容。为进行服务器端和客户端之间通讯,应在nodejs环境下,服务器端使用nodejs的net模块创建一个TCP服务。
由于XSD解析器是使用Javascript语言进行书写的,所以它对前端技术有更好的融合性,可以在多个前端框架中进行直接嵌入使用,并且在框架中也可以更快的进行界面渲染。XSD解析器解析的XSD文件是多样化,可自定义的。解析器内部存在一个XSD规则添加器,客户端可根据不同需求、不同应用场景来向该XSD规则添加器传递对应的规则,XSD规则添加器内部会根据这一规则来进行相应的解析。XSD规则添加器不仅仅支持自定义XSD标签及标签规则,还支持写入自定义CSS样式,来控制前端界面的渲染;以及可以给指定节点添加指定的事件来控制界面交互。
如图1和图2所示,在本实施例中,客户端将XSD文件地址解析规则以及解析的某个xsd:element标签通过TCP服务发送至服务器端。在XSD解析器获取到待解析XSD文件之后,根据待解析XSD文件中的特有标签,包括xsd:complexType标签、xsd:element标签、xsd:sequence标签、xsd:simpleType标签以及xsd:group标签,按照该标签的功能进行解析,从而解析待解析XSD文件并进行存储。
具体而言,首先根据客户端指定要查询的标签内容给定的标签名称,从而查询指定的XSD标签。这里需要根据标签中的name字段进行查询,找到指定的XSD标签之后,根据不同的标签类型对XSD进行解析修改。不同的标签类型在客户端也会有不同的显示。
例如,在XSD文件传入之后,解析器找到指定的element标签并进行解析,对于xsd:complexType标签而言,将xsd:complexType标签内部元素放入数组里面,表示内部包含其他元素,以及输出array,并且会设置maxOccurs值来判断是否可进行增删操作。继续查询内部XSD标签,对于xsd:element标签以及xsd:simpleType标签而言,会对xsd:element以及xsd:simpleType标签内部属性进行分析。例如:若type值为string,输出为input。并继续查询是否有xsd:restriction标签,若有xsd:restriction标签,则设置rule属性。若type值为date,输出为date。当type值对应多个xsd:enumeration标签时,则输出为select,value为xsd:enumeration的标签值。继续查询内部XSD标签,对于xsd:sequence标签,将xsd:sequence标签内部元素放入数组里面,表示内部包含其他元素,以及输出array并限制界面渲染顺序。当查询到规则以外的标签时,XSD解析器会获取自定义标签规则,并根据传输过来的自定义的标签以及规则,对这一部分标签按照传入的规则进行特定的解析。
在服务器端将待解析XSD文件解析完之后,由服务器端将最终输出的值通过TCP服务传递给客户端。
客户端在收到解析完成的数据之后,根据该数据中的type属性进行DOM节点的渲染。例如:若值为select,则渲染为选择框。若值为input,则渲染为输入框(值为input的都会有对应的rule,作为该输入框的输入值的限制)。若值为number,则渲染为数字输入框。若值为date,则渲染为日期选择框。若值为array,则渲染为卡片组,并对其内部元素进行遍历渲染。客户端还根据maxOccurs属性值判断是否可以对该元素组的添加对应事件,进行多个元素组的增删操作。最后,客户端根据所述界面渲染和对应事件的增删操作得到所述动态可视化配置界面。
本发明提出基于内置XSD解析器自动生成动态可视化配置界面的方法,通过在内置XSD解析器的服务器端根据标签属性标记输出值,从而对待解析XSD文件直接进行解析,然后将输出值传输至客户端,最后客户端根据输出值进行DOM节点界面渲染,以及对应事件的增删操作,进而生成动态可视化配置界面。本发明避免了生成XML文件和document对象,抛去多余步骤,提升前端渲染效率,增加可控性。因将XSD直接转换成对应DOM节点,可直接适配多个场景。该方法支持多个前端框架,可直接按照该方法来实现界面渲染,可根据指定的Class类进行CSS样式修改,也可给生成的DOM节点添加指定事件,有更好的可扩展性。
Claims (8)
1.基于内置XSD解析器自动生成动态可视化配置界面的方法,用于对待解析文件进行解析并渲染为动态可视化配置界面,其特征在于,所述XSD解析器包括服务器端和客户端,所述方法包括以下步骤:
步骤1、所述客户端向所述服务器端发送所述待解析XSD文件的地址和解析规则,以使所述服务器端根据所述解析规则,对所述待解析XSD文件进行解析,并将所述待解析XSD文件的解析结果发送至所述客户端;
步骤2、所述客户端接收来自所述服务器端发送的所述解析结果;
步骤3、所述客户端根据所述解析结果中的属性进行DOM节点的界面渲染和对应事件的增删操作;
步骤4、根据所述界面渲染和对应事件的增删操作得到所述动态可视化配置界面。
2.如权利要求1所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,在所述步骤1中,所述解析规则包括自定义标签规则以及所述客户端指定查询的标签内容。
3.如权利要求2所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,所述步骤1包括以下步骤:
步骤101、所述客户端向所述服务器端发送所述待解析XSD文件的地址所述解析规则;
步骤102、所述服务器端根据所述地址查询到所述待解析文件,并根据所述解析规则中的所述标签内容的名称,查询所述客户端指定查询的标签内容;
步骤103、若查询到所述指定的标签内容,则根据所述指定的标签内容的标签类型进行解析;若查询到的所述指定的标签内容之外的标签内容,则根据自定义标签规则进行解析;
步骤104、将步骤103解析得到的解析结果发送至所述客户端。
4.如权利要求3所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,在所述步骤103中,若所述标签内容为xsd:complexType标签,则将所述xsd:complexType标签中内部元素放入数组,type属性的输出为array,并设置maxOccurs值用以判断是否进行增删操作;若所述标签内容为xsd:element标签或xsd:restriction标签,则对所述xsd:element标签或xsd:restriction标签的type属性进行分析。
5.如权利要求4所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,所述分析包括:若xsd:element标签中的type值为string,则输出为input;若xsd:restriction标签中的type值为date,则输出为date;若type值对应多个xsd:enumeration标签,则输出为select。
6.如权利要求4所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,在所述步骤3中,根据所述maxOccurs值判断是否对所述数组进行对应事件的增删操作。
7.如权利要求4所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,在所述步骤3中,若type属性的输出为input,则渲染为输入框;若type属性的输出为date,则渲染为日期选择框;若type属性的输出为select,则渲染为选择框;若type属性的输出为array,则渲染为卡片组,并对其内部元素进行遍历渲染。
8.如权利要求1所述的基于内置XSD解析器自动生成动态可视化配置界面的方法,其特征在于,所述方法在nodejs环境下启用;在所述步骤1之前,所述服务器端使用nodejs的net模块创建一个TCP服务,以建立所述服务器端和客户端之间的通讯。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311228766.0A CN117234477A (zh) | 2023-09-21 | 2023-09-21 | 基于内置xsd解析器自动生成动态可视化配置界面的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311228766.0A CN117234477A (zh) | 2023-09-21 | 2023-09-21 | 基于内置xsd解析器自动生成动态可视化配置界面的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234477A true CN117234477A (zh) | 2023-12-15 |
Family
ID=89092664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311228766.0A Pending CN117234477A (zh) | 2023-09-21 | 2023-09-21 | 基于内置xsd解析器自动生成动态可视化配置界面的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234477A (zh) |
-
2023
- 2023-09-21 CN CN202311228766.0A patent/CN117234477A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7069501B2 (en) | Structured document processing system and structured document processing method | |
US7146564B2 (en) | Extensible stylesheet designs using meta-tag and/or associated meta-tag information | |
US20030018661A1 (en) | XML smart mapping system and method | |
US20010039540A1 (en) | Method and structure for dynamic conversion of data | |
US7039861B2 (en) | Presentation data-generating device, presentation data-generating system, data-management device, presentation data-generating method and machine-readable storage medium | |
US8010899B2 (en) | System offering a data-skin based on standard schema and the method | |
US20040024812A1 (en) | Content publication system for supporting real-time integration and processing of multimedia content including dynamic data, and method thereof | |
US20030236857A1 (en) | Network service system and program using data processing | |
US20040221233A1 (en) | Systems and methods for report design and generation | |
US20050060648A1 (en) | Document transformation | |
US20070027897A1 (en) | Selectively structuring a table of contents for accesing a database | |
US20130132826A1 (en) | Method of converting data of database and creating xml document | |
CN110333863A (zh) | 一种生成、显示小程序页面的方法及装置 | |
US20040103370A1 (en) | System and method for rendering MFS XML documents for display | |
TW201437826A (zh) | 網頁樣式位址合併的方法和裝置 | |
US20020184269A1 (en) | Document management systems for and methods of sharing documents | |
US20190034982A1 (en) | Templates and events for customizable notifications on websites | |
US20030158894A1 (en) | Multiterminal publishing system and corresponding method for using same | |
US20070050394A1 (en) | Method and apparatus for automated database creation from Web Services Description Language (WSDL) | |
US20050024355A1 (en) | Selecting items displayed on respective areas on a screen | |
US20070168868A1 (en) | Method and system for integrating calculation and presentation technologies | |
US8046682B2 (en) | Method and system for accessing business applications via a standard interface | |
CN101576885B (zh) | 提取动态生成网页内容的技术方案 | |
US7584284B2 (en) | Path-token-based web service caching method | |
CN117234477A (zh) | 基于内置xsd解析器自动生成动态可视化配置界面的方法 |
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 |