我对xsl-fo有疑问。不过我对它有点新意。我有原始文本数据,我使用awk脚本转换为xml文档。 xml结构如下所示:
help
我使用这些条目来创建一个表格,其中标签作为列标题,但当我来到一个带有texTag的条目时,它将它全部变成了一个itty-bitty单元格,它将页面添加到PDF文档中并且它没有看起来很整洁,在大多数情况下是不切实际的。我找到了xsl:choose / xsl:otherwise命令,但我不知道如何在表格中设置它,因为textTags将作为跨越表格的单个单元格出现。
表格列数如下-<entry>
<TimeStamp>"5/4/2017 9:00:00 AM"</TimeStamp>
<PlateVolts>44.66</PlateVolts>
<PlateCurrent>144.3</PlateCurrent>
<ForwardPower>98.51</ForwardPower>
<ReflectivePower>2.62</ReflectivePower>
<IntakeAirTemp>79.42</IntakeAirTemp>
<ExhaustAirTemp>90.06</ExhaustAirTemp>
<WestRoomTemp>67.7</WestRoomTemp>
<TowerLightCurrent>76.21</TowerLightCurrent>
<EastRoomTemp>65.35</EastRoomTemp>
<NotMonitrd1>117.08</NotMonitrd1>
<RackVoltage>1.55</RackVoltage>
<BkupFwd>0.12</BkupFwd>
<BkupRef>120.15</BkupRef>
<SpsGen>0</SpsGen>
<AudioLevel>96.81</AudioLevel>
</entry>
-<entry>
<TimeStamp>"5/4/2017 8:59:45 AM"</TimeStamp>
<textTag>"Priority 0 Warning Status Alarm : Gen ON (Ch 8)"</textTag>
</entry>
-<entry>
<TimeStamp>"5/4/2017 9:01:49 AM"</TimeStamp>
<textTag>"Status change (Ch 8): Gen ON"</textTag>
</entry>
-<entry>
<TimeStamp>"5/4/2017 9:02:49 AM"</TimeStamp>
<PlateVolts>44.66</PlateVolts>
<PlateCurrent>144.21</PlateCurrent>
<ForwardPower>98.57</ForwardPower>
<ReflectivePower>2.86</ReflectivePower>
<IntakeAirTemp>78.9</IntakeAirTemp>
<ExhaustAirTemp>90.18</ExhaustAirTemp>
<WestRoomTemp>67.48</WestRoomTemp>
<TowerLightCurrent>69.15</TowerLightCurrent>
<EastRoomTemp>64.91</EastRoomTemp>
<NotMonitrd1>117.39</NotMonitrd1>
<RackVoltage>1.55</RackVoltage>
<BkupFwd>0.12</BkupFwd>
<BkupRef>120.15</BkupRef>
<SpsGen>0</SpsGen>
<AudioLevel>91.78</AudioLevel>
</entry>
表列标题反映了注释。为简洁起见,我将把这部分留下。
下面是桌子的内容。
<fo:block>
<fo:table table-layout="fixed" width="100%" border-style="solid" border="0.2cm">
<fo:table-column column-width="12.5%"/> <!-- Timestamp-->
<fo:table-column column-width="5.83%"/> <!-- PlateVolts -->
<fo:table-column column-width="5.83%"/> <!-- PlateCurrent -->
<fo:table-column column-width="5.83%"/> <!-- ForwardPower-->
<fo:table-column column-width="5.83%"/> <!-- ReflectivePower -->
<fo:table-column column-width="5.83%"/> <!-- IntakeAirTemp -->
<fo:table-column column-width="5.83%"/> <!-- TowerLightCurrent -->
<fo:table-column column-width="5.83%"/> <!-- ExhaustAirTemp -->
<fo:table-column column-width="5.83%"/> <!-- WestRoomTemp -->
<fo:table-column column-width="5.83%"/> <!-- EastRoomTemp -->
<fo:table-column column-width="5.83%"/> <!-- NotMonitrd1 -->
<fo:table-column column-width="5.83%"/><!-- RackVoltage -->
<fo:table-column column-width="5.83%"/> <!-- BkupFwd -->
<fo:table-column column-width="5.83%"/> <!-- BkupRef -->
<fo:table-column column-width="5.83%"/> <!-- SpsGen -->
<fo:table-column column-width="5.83%"/> <!-- AudioLevel -->
谢谢大家的帮助!