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。当你找到一个好的解决方案时,请在这里留下评论,因为我很想复制它!!

XSLT -检测换行或换行