[发明专利]基于XSLT和XSD的代码自动生成方法和设备有效
申请号: | 202010906969.0 | 申请日: | 2020-08-31 |
公开(公告)号: | CN112052012B | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 吴平;张利炎;张勇 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F8/51 | 分类号: | G06F8/51;G06F8/41 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 王江能 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 xslt xsd 代码 自动 生成 方法 设备 | ||
1.一种基于XSLT和XSD的代码自动生成方法,其特征在于,所述基于XSLT和XSD的代码自动生成方法,包括:
在XSD文件中定义数据模型XSD脚本和数据模型转换XSD脚本;
根据所述数据模型XSD脚本和所述数据模型转换XSD脚本生成XSLT脚本代码;
根据所述XSLT脚本代码对所述数据模型XSD脚本和所述数据模型转换XSD脚本进行解析处理,并执行解析处理后的XSD脚本,生成对应的语言代码;
其中,所述根据所述数据模型XSD脚本和所述数据模型转换XSD脚本生成XSLT脚本代码,包括:
获取所述数据模型XSD脚本和数据模型转换XSD脚本中的复合型元素、类型元素和要素元素;
将复合型元素节点与预设持续功能进行匹配,若匹配成功则生成持久化模型;
对所述持久化模型进行持久化,生成代码环境;
根据所述持久化模型对应的类型元素和要素元素生成代码环境元素;
根据所述代码环境和所述代码环境元素生成XSLT脚本代码。
2.如权利要求1所述的基于XSLT和XSD的代码自动生成方法,其特征在于,所述在XSD文件中定义数据模型XSD脚本和数据模型转换XSD脚本,包括:
在XSD文件中定义模型名称、模型类型和模型成员信息;
根据所述模型名称、所述模型类型和所述模型成员信息生成数据模型XSD脚本;
在所述XSD文件中定义模型转换关系,根据所述模型转换关系生成数据模型转换XSD脚本。
3.如权利要求2所述的基于XSLT和XSD的代码自动生成方法,其特征在于,所述在XSD文件中定义模型名称、模型类型和模型成员信息,包括:
在XSD文件中定义模型名称中的数据模型名称、功能名称、通信层模型名称、内存模型名称和所述持久化模型名称;
在XSD文件中定义模型类型中的公共模型、通信层模型和持久化模型;
在XSD文件中定义模型成员信息中的成员名称、界面多语言名称、成员类型名称和界面设置信息。
4.如权利要求2所述的基于XSLT和XSD的代码自动生成方法,其特征在于,所述在所述XSD文件中定义模型转换关系,根据所述模型转换关系生成数据模型转换XSD脚本,包括:
在XSD文件的类型地图中根据当前模型的成员名称和待转换模型的成员名称确定模型类型名称;
获取所述模型类型名称对应的转换代码函数;
根据所述转换代码函数定义各成员的内存模型、远程过程调用RPC模型和持久化模型之间的模型转换关系;
根据所述模型转换关系生成数据模型转换XSD脚本。
5.如权利要求1所述的基于XSLT和XSD的代码自动生成方法,其特征在于,所述对所述持久化模型进行持久化,生成代码环境,包括:
根据所述复合型元素节点的名称生成持久化模型名称;
根据预设协议缓冲区将所述持久化模型和所述持久化模型名称进行持久化,生成代码环境。
6.如权利要求1所述的基于XSLT和XSD的代码自动生成方法,其特征在于,所述根据所述持久化模型对应的类型元素和要素元素生成代码环境元素,包括:
遍历每个要素元素和类型元素获取与所述持久化模型对应的目标要素和目标类型;
根据所述目标要素和所述目标类型生成代码环境元素。
7.如权利要求1所述的基于XSLT和XSD的代码自动生成方法,其特征在于,所述根据所述代码环境和所述代码环境元素生成XSLT脚本代码,包括:
在预设指定目录中定义XSL函数和XSL模板;
根据所述XSL函数、所述XSL模板和预设伪脚本代码结合所述代码环境和所述代码环境元素生成XSLT脚本代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010906969.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种渣层厚度自动测量装置及方法
- 下一篇:一种园林废弃物化料机