XSLT - обнаружение переносов или разрывов строк - PullRequest
0 голосов
/ 05 апреля 2011

У меня есть таблица стилей 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>

Требование Нижний колонтитул должен отображаться на каждой странице внизу.

Проблема Столбец2 может переносить слова или переносить строки.Мне нужно отобразить все данные.Обратите внимание на XSL foreach.Если в цикле слишком много элементов, нижний колонтитул отобразится на новой странице.Это не то, что я хочу.Я хочу, чтобы нижний колонтитул отображался на первой странице, а также на каждой дополнительной странице.

Что, я думаю, это исправит - Создайте нижний колонтитул, похожий на Microsoft Word, который всегда отображается.
- Или, если проще, определите, где происходит разрыв строки, и посчитайте его как 2 строки вместо 1.

Является ли любое потенциальное решение поддерживаемым XSLTизначально?Что ты предлагаешь?(Если требуется язык OO, я предпочитаю C #)

Обратите внимание, этот контент предназначен для вывода на печать.

1 Ответ

1 голос
/ 05 апреля 2011

Если вы действительно хотите печатать, то (X) HTML не является ответом. Вы можете взглянуть на Объекты форматирования XSL . Но тебя ждет ухабистая поездка.

XSLT на самом деле не знает о разрывах страниц и выходных данных. Это просто язык преобразования дерева. Вам не следует беспокоиться о функциональности XSLT, а не о языке вывода. Я предложил FO выше, но вы также можете попробовать другие вещи, такие как DocBook или MS Word. Когда вы найдете хорошее решение, пожалуйста, оставьте комментарий здесь, потому что я хотел бы скопировать его !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...