Граница таблицы CALS отсутствует в представлении PDF (XSLT) - PullRequest
0 голосов
/ 25 мая 2018

Это мой пример структуры XML таблицы CALS.

<table id="table_Test" frame="none">
  <tgroup cols="7">
    <colspec colname="cgen1"/>
    <colspec colname="c1" colwidth="10*"/>
    <colspec colname="c2" colwidth="10*"/>
    <colspec colname="c3" colwidth="10*"/>
    <colspec colname="c4" colwidth="10*"/>
    <colspec colname="c5" colwidth="10*"/>
    <colspec colname="cgen2"/>
    <thead>
      <row>
        <entry rowsep="0" colsep="0"/>
        <entry colsep="0"/>
        <entry colsep="0"/>
        <entry colsep="0"/>
        <entry colsep="0"/>
        <entry colsep="0"/>
        <entry rowsep="0" morerows="0"/>
      </row>
      <row>
        <entry rowsep="0" colsep="1" morerows="0"/>
        <entry align="center"><para>Test1</para></entry>
        <entry align="center"><para>Test2</para></entry>
        <entry align="center"><para>Test3</para></entry>
        <entry align="center"><para>Test4></entry>
        <entry align="center"><para>Test5</para></entry>
        <entry rowsep="0" morerows="0"/>
      </row>
    </thead>
    <tbody>
      <row>
        <entry rowsep="0" morerows="0"/>
        <entry>
          <para> Test6</para>
        </entry>
        <entry>Test 7</entry>
        <entry>
          <para>Test 8</para>
        </entry>
        <entry>
          <para>Test 9</para>
        </entry>
        <entry>
          <para>Test 10</para>
        </entry>
        <entry rowsep="0" morerows="0"/>
      </row>
      <row>
        <entry rowsep="0" colsep="0" morerows="0"/>
        <entry rowsep="0"/>
        <entry><para>Test 11</para></entry>
        <entry><para>Test 12</para></entry>
        <entry><para>Test 13</para></entry>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" morerows="0"/>
      </row>
      <row>
        <entry rowsep="0" colsep="0" morerows="0"/>
        <entry rowsep="0"/>
        <entry><para>Test 14</para></entry>
        <entry/>
        <entry/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" morerows="0"/>
      </row>
      <row>
        <entry rowsep="0" colsep="0" morerows="0"/>
        <entry rowsep="0"/>
        <entry><para>Test 15</para></entry>
        <entry/>
        <entry/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" morerows="0"/>
      </row>
      <row>
        <entry rowsep="0" colsep="0" morerows="0"/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" colsep="0"/>
        <entry rowsep="0" colsep="0" morerows="0"/>
      </row>
    </tbody>
  </tgroup>
</table>

, но в представлении PDF отсутствует граница.как обрабатывать переменные "rowsep", "colsep" в XSLT.Я установил значение кадра не имеет значения.enter image description here

но мне нужен такой вывод enter image description here

Я новичок в написании xslt.Пожалуйста, помогите мне, как архивировать мои требования, используя XSLT.Как я могу решить это?

1 Ответ

0 голосов
/ 25 мая 2018

Вы должны указать, что вам нужна граница, в данном случае для каждой <entry>:

fo:table-cell border="1pt solid black"

FO таблиц и стилей границ

Для атрибутов @colsep и @rowsep необходимо сделать границы условными:

<fo:table-cell>
<xsl:if test="not(@colsep='0')">
    <xsl:attribute name="border-left">1pt solid black</xsl:attribute>
    <xsl:attribute name="border-right">1pt solid black</xsl:attribute>
</xsl:if>
...