Infopath入门到精通系列-4 Infopath myschema.xsd文件 解析
1、Infopath 介绍
Infopath工具保存后默认生成xsn格式的文件。
将上图中的文件后缀名修改为全国面上广告申请.zip 并进行解压。如下图所示:
效果图如下:
2、myschema.xsd文件说明
myschema.xsd文件内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/office/infopath/2003/myXSD/2021-08-11T07:06:00" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2021-08-11T07:06:00" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="myFields"><xsd:complexType><xsd:sequence><xsd:element ref="my:申请单编号" minOccurs="0"/><xsd:element ref="my:附件上传" minOccurs="0"/><xsd:element ref="my:关联文档" minOccurs="0"/><xsd:element ref="my:上传电子发票" minOccurs="0"/><xsd:element ref="my:制表人" minOccurs="0"/><xsd:element ref="my:所属部门" minOccurs="0"/><xsd:element ref="my:制表时间" minOccurs="0"/><xsd:element ref="my:联系方式" minOccurs="0"/><xsd:element ref="my:业务发生公司" minOccurs="0"/><xsd:element ref="my:申请单状态" minOccurs="0"/><xsd:element ref="my:活动类型" minOccurs="0"/><xsd:element ref="my:品牌大类" minOccurs="0"/><xsd:element ref="my:投入类型" minOccurs="0"/><xsd:element ref="my:开始日期" minOccurs="0"/><xsd:element ref="my:结束日期" minOccurs="0"/><xsd:element ref="my:费用投向" minOccurs="0"/><xsd:element ref="my:是否比价招标" minOccurs="0"/><xsd:element ref="my:采购类型" minOccurs="0"/><xsd:element ref="my:是否涉及票务促销" minOccurs="0"/><xsd:element ref="my:申请金额合计" minOccurs="0"/><xsd:element ref="my:申请金额合计大写" minOccurs="0"/><xsd:element ref="my:审核金额合计" minOccurs="0"/><xsd:element ref="my:审核金额合计大写" minOccurs="0"/><xsd:element ref="my:活动投放规划" minOccurs="0"/><xsd:element ref="my:前期调研情况" minOccurs="0"/><xsd:element ref="my:采购类型申请理由及依据" minOccurs="0"/><xsd:element ref="my:备注" minOccurs="0"/><xsd:element ref="my:目前实施项目及费用简述" minOccurs="0"/><xsd:element ref="my:费用列支渠道" minOccurs="0"/><xsd:element ref="my:预算使用年度" minOccurs="0"/><xsd:element ref="my:组1" minOccurs="0"/></xsd:sequence><xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/></xsd:complexType></xsd:element><xsd:element name="申请单编号" type="xsd:string"/><xsd:element name="组1"><xsd:complexType><xsd:sequence><xsd:element ref="my:组2" minOccurs="0" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="组2"><xsd:complexType><xsd:sequence><xsd:element ref="my:行项目号" minOccurs="0"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="行项目号" type="xsd:string"/><xsd:element name="费用类型" type="xsd:string"/><xsd:element name="媒体大类" type="xsd:string"/><xsd:element name="媒体小类" type="xsd:string"/><xsd:element name="活动形式" type="xsd:string"/><xsd:element name="推广品牌id" type="xsd:string"/><xsd:element name="推广品牌" type="xsd:string"/><xsd:element name="数量" type="xsd:string"/><xsd:element name="单位" type="xsd:string"/><xsd:element name="申请金额" type="xsd:string"/><xsd:element name="厂方支持比例" type="xsd:string"/><xsd:element name="考核大区" type="xsd:string"/><xsd:element name="考核比例" type="xsd:string"/><xsd:element name="考核金额" type="xsd:string"/><xsd:element name="审核金额" type="xsd:string"/>
</xsd:schema>
3、myschema.xsd文件属性
myschema.xsd文件内容有如下几个标签构成:
xsd:element 标签,记录如下几个比较核心的属性:
name:名称
type:数据类型。
complexType:类似table下面的tr。一个对象可能聚合多个对象。
4、myschema.xsd文件java解析
下面代码包含上述代码结构中属性的解析
tring fXsd = loadResource("myschema.xsd");if (fXsd == null) {throw new BusinessException(ResourceUtil.getString("DataDefine.CannotReadFileFormResource") + "myschema.xsd");}try {Document xsfdocument = DocumentHelper.parseText(fXsd);xsd.loadFromInfoPathXSD(xsfdocument.getRootElement());} catch (Exception e) {logger.error(e.getMessage(), e);throw new BusinessException(e.getMessage());}for (int i = 0; i < this.fDataElementList.size(); i++) {if (this.fDataElementList.get(i) instanceof InfoPath_DataGroup) {InfoPath_DataGroup datagroup = (InfoPath_DataGroup) this.fDataElementList.get(i);if (datagroup.getSubElement().size() == 0) {throw new BusinessException(ResourceUtil.getString("formoper.dupform.label") + datagroup.getDataName() + ResourceUtil.getString("form.dulform.label"));}for (int j = 0; j < datagroup.getSubElement().size(); j++) {if (datagroup.getSubElement().get(j) instanceof InfoPath_DataGroup) {InfoPath_DataGroup subdatagroup = (InfoPath_DataGroup) datagroup.getSubElement().get(j);if (subdatagroup.getSubElement().size() == 0) {throw new BusinessException(ResourceUtil.getString("formoper.dupform.label") + subdatagroup.getDataName() + ResourceUtil.getString("form.dulform.label"));}}}}}
infopath地址:https://gitee.com/pangu-dm/infopath
上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:
Infopath入门到精通系列-4 Infopath myschema.xsd文件 解析相关推荐
- 【ArcGIS遇上Python】从入门到精通系列之第一章:ArcGIS Python简介
文章目录 1. Python简介 2. Python的特点 3. ArcGIS的脚本语言 4. ArcGIS中的Python脚本编辑器 1. Python简介 Python是一种跨平台的计算机程序设计 ...
- Linux从入门到精通系列之PPTP
Linux从入门到精通系列之PPTP 今天我们来说下怎么在linux环境下如何搭建PPTP-×××,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该 ...
- Jenkins pipeline 入门到精通系列文章
Jenkins2 入门到精通系列文章. Jenkins2 下载与启动 jenkins2 插件安装 jenkins2 hellopipeline jenkins2 pipeline介绍 jenkins2 ...
- html5从基础到入门,Html5从入门到精通系列2:Html5基础
Html5从入门到精通系列2:Html5基础 (2015-04-04 11:36:53) 标签: html5 html5教程 html5视频教程 html5从入门到精通 2-1.1.HTML5简介.M ...
- ArcGIS10从入门到精通系列实验图文教程(附配套实验数据持续更新)
文章目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 本教程<ArcGIS从入门到精通系列实验教程>内容包括:ArcGIS平台简介.ArcGIS应用基础.空间数据的采集 ...
- OpenShift从入门到精通系列之一:通过OpenShift实现数字化转型
OpenShift从入门到精通系列之一:通过OpenShift实现数字化转型 一.企业数字化转型之PaaS 二.企业数字化转型之DevOps 三.企业数字化转型之微服务 四.微服务架构的主要类型 五. ...
- Vue3+TypeScript从入门到精通系列之:Try changing the lib compiler option to es2015 or later
Vue3+TypeScript从入门到精通系列之:Try changing the lib compiler option to es2015 or later tsc ./泛型接口.ts tsc编译 ...
- 网沙(爱玩啥)韩顺平.循序渐进学.java.从入门到精通系列视频分享
网沙(爱玩啥)韩顺平.循序渐进学.java.从入门到精通系列视频分享 韩顺平.循序渐进学.java.从入门到精通.第0讲-开山篇 韩顺平.循序渐进学.java.从入门到精通.第1讲-内容介绍.项 ...
- Oracle数据库从入门到精通系列之二:SGA和后台进程
Oracle数据库从入门到精通系列之二:SGA和后台进程 一.SGA 二.后台进程 一.SGA Oracle有一个很大的内存块,称为系统全局区(SGA),用于(但不限于): 维护所有进程需要访问的内部 ...
最新文章
- day20 文件上传下载
- 9大领域50名青年学者获2021年科学探索奖,单人奖金300万元
- 什么是 PureMVC 框架(提供下载)
- php如何发起远程请求,PHP请求远程地址如何设置超时时间
- (Java多线程)多线程原理和使用
- poj2513 Fence Repair(小根堆)
- 算法训练营 重编码_编码训练营后十四天如何找到工作
- java动态生成excel_java动态生成excel打包下载
- 量化评估推荐系统效果
- Java中的包扫描(工具)
- (第十一章)数据表的增删改
- UI设计教程 | 5步快速制作2.5D插画
- oracle数据库:约束
- 转载 GIS的下个十年(Cary Mann, vice president, Bentley)
- arm64平台进程全局页表pgd的创建和切换
- 零基础应如何学习UI设计
- \xe5\x8d\xa0\xe7\x94\xa8\xe3\x80\x82,16进制乱码转化为可读字符
- Python:PyQt 时间组件
- sec和asec--正割和反正割函数
- LU分解Matlab算法分析
热门文章
- frdora10_a8_linux,8楼 【A8】 linux系统的不刻盘的安装 一:.pdf
- 管理学原理 【1049】
- 华为写代码的这13年,成为了我最宝贵的人生历程
- 由爱故生忧,由爱故生怖,若离于爱者,无忧亦无怖。
- 协同学:大自然构造的奥秘--哈肯
- MySQL优化之超大分页查询
- 抖音直播带货数据在哪里看?有哪些考核指标?
- 不同大小硬盘对拷oracle,如何实现硬盘对拷_大小不一样的硬盘怎么实现对拷?_不同大小硬盘对拷...
- Android:程序锁功能的简单实现
- 电大计算机毕业论文任务书范文,广播电视大学毕业设计任务书表格.doc