Chcę wyświetlić tekst z większą czcionką w skrajnej lewej kolumnie <fo:table>
. Kolumny z prawej strony powinny jednak składać się z kilku wierszy z mniejszym tekstem.Czy istnieje sposób użycia odpowiednika "rowspan" w XSL-FO?
ten sposób kod XSL wygląda przed dodaniem żadnej skrajnej lewej kolumnie z większego tekstu:
<xsl:template name="printAddress">
<xsl:param name="subDocument" />
<fo:table table-layout="fixed" background-color="#e0e0e0" keep-with-next.within-page="always">
<fo:table-column column-width="7.0cm" />
<fo:table-column column-width="7.0cm" />
<fo:table-column column-width="2.0cm" />
<fo:table-body>
<!-- Begin Row 1 -->
<fo:table-row keep-with-previous="always">
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>Value 1</fo:block>
</fo:table-cell>
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>Value 2</fo:block>
</fo:table-cell>
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block />
</fo:table-cell>
</fo:table-row>
<!-- Begin Row 2 -->
<fo:table-row keep-with-previous="always">
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>
<xsl:value-of select="$subDocument/someAttribute" />
</fo:block>
</fo:table-cell>
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>
<xsl:value-of select="$subDocument/someOtherAttribute" />
</fo:block>
</fo:table-cell>
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block />
</fo:table-cell>
</fo:table-row>
<!-- Begin Row 3 -->
<fo:table-row keep-with-previous="always">
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>value 3</fo:block>
</fo:table-cell>
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>Value 4</fo:block>
</fo:table-cell>
<fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm">
<fo:block>Value 5</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:template>
chcę dodać kolumnę w lewo, ale nie mogę znaleźć składni dla niego. W HTML wyżej będzie napisane tak:
<tr>
<td>Value 1</td>
<td>Value 2</td>
<td></td>
</tr>
<tr>
<td>{someAttribute}</td>
<td>{someOtherAttribute}</td>
<td></td>
</tr>
<tr>
<td>Value 3</td>
<td>Value 4</td>
<td>Value 5</td>
</tr>
I aby osiągnąć to, co chcę musielibyśmy tylko zmodyfikować go tak:
<tr>
<td rowspan="3" style="font-weight:bold;font-size:14pt">New Text</td>
<td>Value 1</td>
<td>Value 2</td>
<td></td>
</tr>
<tr>
<td>{someAttribute}</td>
<td>{someOtherAttribute}</td>
<td></td>
</tr>
<tr>
<td>Value 3</td>
<td>Value 4</td>
<td>Value 5</td>
</tr>
Ale jak to najlepiej zrobić z za XSL-FO?
Czy tytuł nie powinien zawierać XSL: FO zamiast XSLT? – ndim
Jak mogłeś sobie uświadomić, jestem początkującym użytkownikiem XSL i widzę, że masz rację. Pytanie dotyczy XSL: FO, a nie XSLT. Dzięki! – Niklas