XSLT -检测换行或换行
本文关键字:换行 检测 XSLT | 更新日期: 2023-09-27 17:48:56
我有一个XSLT样式表要转换成HTML
<table class="tblOrders">
<col width="20em" />
<col width="380em" />
<col />
<col />
<col width="80em" />
<col width="30em" />
<col width="30em" />
<tr>
<th>Column1</th>
<th>Column2</th>
<th>Column3</th>
<th>Column4</th>
<th>Column5</th>
<th>column6</th>
<th>column7</th>
</tr>
<xsl:for-each select="transfer/items">
<tr>
<td>
<xsl:value-of select="Column1"/>
</td>
<td class="alnLeft">
<font size="-1">
<xsl:value-of select="Column2"/>
</font>
</td>
<td nowrap="nowrap">
<xsl:value-of select="Column3"/>
</td>
<td class="alnRight">
<xsl:value-of select="Column4"/>
</td>
<td class="alnRight">
<xsl:value-of select="Column5"/>
</td>
<td>
<xsl:value-of select="Column6"/>
</td>
<td class="bdrBottom">
<xsl:text> </xsl:text>
</td>
</tr>
</xsl:for-each>
</table>
<div class="floatRight" style="margin:10em 0em 0em 0em">
<table id="tblFooterLastPage">
<tr>
<th>Initials:</th>
<td class="bdrBottom">
<xsl:text> </xsl:text>
</td>
</tr>
</table>
</div>
页脚应该显示在每个页面的底部。
Column2有可能换行或换行。我需要显示所有的数据。注意XSL foreach。如果循环中的项太多,则页脚将显示在新页面上。这不是我想要的。我希望页脚显示在第一页,加上每个额外的页面。
我怎么想
-创建一个类似于Microsoft Word的页脚,始终显示。
-或者,如果更容易,检测哪里发生换行并将其计数为2行而不是1行。
XSLT是否支持任何一种可能的解决方案?你有什么建议?(如果需要OO语言,我更喜欢c#)
注意,此内容是为打印输出而设计的。
如果您真的想要打印,那么(X)HTML不是答案。您可以查看XSL格式化对象。但是你将会经历一段颠簸的旅程。
XSLT实际上并不知道输出的分页和换行符。它只是一种树转换语言。您不应该担心XSLT的功能,而应该担心输出语言的功能。我在上面推荐了FO,但你也可以尝试其他工具,比如DocBook或MS Word。当你找到一个好的解决方案时,请在这里留下评论,因为我很想复制它!!