XSL Formatter Q&A
XSLT/XSL-FO/MathML TechnicsTable |
|
| Q. | When I put fo:inline inside the table cell, The table cell exceeds the right side of the page. What's wrong? [No.2003011705] |
|---|---|
| A. |
In your XSL-FO: <fo:table-cell margin-top="10pt" margin-bottom="10pt" font-weight="bold">
<fo:block text-align="justify" keep-together="always">
Antenna House XSL Formatter
</fo:block>
<fo:block text-align="justify" keep-together="always">
<fo:inline font-weight="bold">
XSL Formatting engine that is based on XSL Version 1.0, a recommendation of the W3C.
</fo:inline>
</fo:block>
</fo:table-cell>
keep-together="always" is specified to fo:block. keep-together has the 'within-page', 'within-column' and 'within-line' components. Therefore if you specify the keep-together="always" property, it is equal to specifying "always" to all the three components, and "always" is specified to keep-together.within-line. And it is inherited to fo:inline. Therefore this property tries to set in single string. In your document, it's better to specify keep-together.within-page="always" rather than keep-together="always", so that the table cell fits in one page. <fo:table-cell margin-top="10pt" margin-bottom="10pt" font-weight="bold">
<fo:block text-align="justify" keep-together.within-page="always">
Antenna House XSL Formatter
</fo:block>
<fo:block text-align="justify" keep-together.within-page="always">
<fo:inline font-weight="bold">
XSL Formatting engine that is based on XSL Version 1.0, a recommendation of the W3C.
</fo:inline>
</fo:block>
</fo:table-cell>
|