1、Infopath 介绍
Infopath工具保存后默认生成xsn格式的文件。
将上图中的文件后缀名修改为全国面上广告申请.zip 并进行解压。如下图所示:
效果图如下:
2、Infopath xsl文件内容
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2021-08-11T07:06:00" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:xdExtension="http://schemas.microsoft.com/office/infopath/2003/xslt/extension" xmlns:xdXDocument="http://schemas.microsoft.com/office/infopath/2003/xslt/xDocument" xmlns:xdSolution="http://schemas.microsoft.com/office/infopath/2003/xslt/solution" xmlns:xdFormatting="http://schemas.microsoft.com/office/infopath/2003/xslt/formatting" xmlns:xdImage="http://schemas.microsoft.com/office/infopath/2003/xslt/xImage" xmlns:xdUtil="http://schemas.microsoft.com/office/infopath/2003/xslt/Util" xmlns:xdMath="http://schemas.microsoft.com/office/infopath/2003/xslt/Math" xmlns:xdDate="http://schemas.microsoft.com/office/infopath/2003/xslt/Date" xmlns:sig="http://www.w3.org/2000/09/xmldsig#" xmlns:xdSignatureProperties="http://schemas.microsoft.com/office/infopath/2003/SignatureProperties" xmlns:ipApp="http://schemas.microsoft.com/office/infopath/2006/XPathExtension/ipApp" xmlns:xdEnvironment="http://schemas.microsoft.com/office/infopath/2006/xslt/environment" xmlns:xdUser="http://schemas.microsoft.com/office/infopath/2006/xslt/User" xmlns:xdServerInfo="http://schemas.microsoft.com/office/infopath/2009/xslt/ServerInfo">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL21" xd:binding="my:费用类型" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:费用类型"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL22" xd:binding="my:媒体大类" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:媒体大类"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL23" xd:binding="my:媒体小类" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:媒体小类"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL24" xd:binding="my:活动形式" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:活动形式"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL25" xd:binding="my:推广品牌id" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:推广品牌id"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL26" xd:binding="my:推广品牌" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:推广品牌"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL27" xd:binding="my:数量" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:数量"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL28" xd:binding="my:单位" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:单位"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL29" xd:binding="my:申请金额" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:申请金额"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL30" xd:binding="my:厂方支持比例" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:厂方支持比例"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL31" xd:binding="my:考核大区" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:考核大区"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL32" xd:binding="my:考核比例" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:考核比例"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL33" xd:binding="my:考核金额" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:考核金额"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL34" xd:binding="my:审核金额" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:审核金额"/>
</span>
</font>
</div>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
<div class="optionalPlaceholder" xd:xmlToEdit="组2_46" tabIndex="0" xd:action="xCollection::insert" style="WIDTH: 1092px">插入项</div>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">申请金额合计</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL35" xd:binding="my:申请金额合计" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:申请金额合计"/>
</span>
</font>
</div>
</td>
<td colSpan="4" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL36" xd:binding="my:申请金额合计大写" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:申请金额合计大写"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">审核金额合计</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL37" xd:binding="my:审核金额合计" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:审核金额合计"/>
</span>
</font>
</div>
</td>
<td colSpan="4" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL38" xd:binding="my:审核金额合计大写" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:审核金额合计大写"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">活动投放规划</font>
</div>
</td>
<td colSpan="5" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL39" xd:binding="my:活动投放规划" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:活动投放规划"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">前期调研情况</font>
</div>
</td>
<td colSpan="5" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL40" xd:binding="my:前期调研情况" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:前期调研情况"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">采购类型申请理由及依据</font>
</div>
</td>
<td colSpan="5" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL41" xd:binding="my:采购类型申请理由及依据" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:采购类型申请理由及依据"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">备注</font>
</div>
</td>
<td colSpan="5" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL42" xd:binding="my:备注" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:备注"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">目前实施项目及费用简述</font>
</div>
</td>
<td colSpan="5" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL43" xd:binding="my:目前实施项目及费用简述" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:目前实施项目及费用简述"/>
</span>
</font>
</div>
</td>
</tr>
<tr style="MIN-HEIGHT: 22px">
<td colSpan="6" style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px; BACKGROUND-COLOR: #00b0f0">
<div align="center">
<font size="2" face="微软雅黑">财务信息</font>
</div>
</td>
</tr>
<tr>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">费用列支渠道</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL44" xd:binding="my:费用列支渠道" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:费用列支渠道"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑">预算使用年度</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"><span title="" class="xdTextBox" hideFocus="1" xd:xctname="PlainText" xd:CtrlId="CTRL45" xd:binding="my:预算使用年度" tabIndex="0" style="WIDTH: 100%">
<xsl:value-of select="my:预算使用年度"/>
</span>
</font>
</div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"></font></div>
</td>
<td style="BORDER-TOP: #000000 1pt solid; BORDER-RIGHT: #000000 1pt solid; VERTICAL-ALIGN: middle; BORDER-BOTTOM: #000000 1pt solid; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; PADDING-LEFT: 1px; BORDER-LEFT: #000000 1pt solid; PADDING-RIGHT: 1px">
<div align="center">
<font size="2" face="微软雅黑"></font></div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div align="center"></div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
3、Infopath xsl文件特殊字符串替换
xsl文件内容可能会存在� �字符,这个会影响html的渲染,因此需要进行文件内容的替换。
content = content.replace("", " ");
content = content.replace("", " ");
4、Infopath xsl文件转换为xml
xsl文件进行dom的解析并进行内容的转换。
Document document = null;
SAXReader sr = new SAXReader();
Element root = document.getRootElement()
this.fileInfo = document.asXML();
5、Infopath xsl文件校验
文件的校验主要包含如下几个:
validSpan(aRoot);
validSelect(aRoot);
validInput(aRoot);
validImg(aRoot, imgMap);
validObject(aRoot);
对于文件内容的校验采用的是Element aRoot dom树形式,代码如下:
private void validSpan(Element aRoot) throws BusinessException {
List<Element> spanList = aRoot.selectNodes("//span");
Element element = null;
for (int i = 0; i < spanList.size(); i++) {
element = spanList.get(i);
if (element.attributeValue("xctname") != null) {
if ("RichText".equals(element.attributeValue("xctname")))
throw new InfoPathParseException(element.attributeValue("binding").replace("my:", ""), 2007);
if ("DTPicker_DTText".equals(element.attributeValue("xctname")))
throw new InfoPathParseException(element.attributeValue("binding").replace("my:", ""), 2008);
if ("BulletedList".equals(element.attributeValue("xctname")))
throw new InfoPathParseException(element.attributeValue("binding").replace("my:", ""), 2009);
if ("NumberedList".equals(element.attributeValue("xctname")))
throw new InfoPathParseException(element.attributeValue("binding").replace("my:", ""), 2010);
if ("PlainList".equals(element.attributeValue("xctname")))
throw new InfoPathParseException(element.attributeValue("binding").replace("my:", ""), 2011);
if ("ExpressionBox".equals(element.attributeValue("xctname")))
throw new InfoPathParseException(element.attributeValue("binding").replace("my:", ""), 2012);
}
}
}
private void validInput(Element aRoot) throws BusinessException {
List<Element> inputList = aRoot.selectNodes("//input");
Element element = null;
for (int i = 0; i < inputList.size(); i++) {
element = inputList.get(i);
if (element.attributeValue("xctname") != null) {
if ("OptionButton".equals(element.attributeValue("xctname"))) {
throw new InfoPathParseException(2015);
}
if ("Button".equals(element.attributeValue("xctname"))) {
throw new InfoPathParseException(2016);
}
if ("CheckBox".equals(element.attributeValue("xctname"))) {
throw new InfoPathParseException(2023);
}
}
}
}
infopath地址:https://gitee.com/pangu-dm/infopath
上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号: