使用XSLT在XML中插入分页符

时间:2016-11-10 05:48:07

标签: xml xslt

如果在表中限制为6行或7行后,我们如何使用XSLT在XML中插入分页符或强制分页?

我无法想办法完全做到这一点。相应的XML将发布为PDF。

示例XML:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="file:///C:/Alstom/Schemas/stylermodules/AlstomCurrHTMLStyles/alstom.xsl" type="text/xsl"?>
<DM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<CONTENT>
<DESCRIPT>
<PARA0>
<TITLE><EMPHASIS EMPH="BOLD">Example</EMPHASIS></TITLE>
<TABLE FRAME="ALL">
<TGROUP COLS="3">
<COLSPEC COLNAME="col1" COLWIDTH="5cm"/>
<COLSPEC COLNAME="col2" COLWIDTH="6.00cm"/>
<COLSPEC COLNAME="col3" COLWIDTH="5.91cm"/>
<THEAD>
<ROW>
<ENTRY COLSEP="1" ROWSEP="1"><PARA><EMPHASIS>A</EMPHASIS></PARA></ENTRY>
<ENTRY COLSEP="1" ROWSEP="1"><PARA><EMPHASIS>B</EMPHASIS></PARA></ENTRY>
<ENTRY COLSEP="0" ROWSEP="1"><PARA><EMPHASIS>C</EMPHASIS></PARA></ENTRY>
</ROW>
</THEAD>
<TBODY>
<ROW>
<ENTRY COLSEP="1" MOREROWS="6" ROWSEP="1"><PARA>A1</PARA></ENTRY>
<ENTRY COLSEP="1" ROWSEP="1"><PARA>B1</PARA></ENTRY>
<ENTRY COLSEP="0" ROWSEP="1"><PARA>C1.</PARA></ENTRY>
</ROW>
<ROW>
<ENTRY COLSEP="1" ROWSEP="1"><PARA>B2</PARA></ENTRY>
<ENTRY COLSEP="0" ROWSEP="1"><PARA>C2.</PARA></ENTRY>
</ROW>
<ROW>
<ENTRY COLSEP="1" ROWSEP="1"><PARA>B3</PARA></ENTRY>
<ENTRY COLSEP="0" ROWSEP="1"><PARA>C3</PARA><?Pub Caret -1?></ENTRY>
</ROW>
<ROW>
<ENTRY COLSEP="1" ROWSEP="1">B4</ENTRY>
<ENTRY COLSEP="0" ROWSEP="1">C4</ENTRY>
</ROW>
<ROW>
<ENTRY COLSEP="1" ROWSEP="1">B5</ENTRY>
<ENTRY COLSEP="0" ROWSEP="1">C5</ENTRY>
</ROW>
<ROW>
<ENTRY COLSEP="1" ROWSEP="1">B6</ENTRY>
<ENTRY COLSEP="0" ROWSEP="1">C6</ENTRY>
</ROW>
<ROW>
<?PubTbl row rht="3.08in"?>
<ENTRY COLSEP="1" ROWSEP="1">B7</ENTRY>
<ENTRY COLSEP="0" ROWSEP="1">C7</ENTRY>
</ROW>
</TBODY>
</TGROUP>
</TABLE>
</PARA0>
</DESCRIPT>
</CONTENT>
</DM>

例如,如果必须在C5之后插入分页符。

感谢。

2 个答案:

答案 0 :(得分:1)

我不清楚如何将xml转换为pdf,但有一种方法是:

<div style="page-break-before: always;">

答案 1 :(得分:0)

在XSL-FO中,您可以使用以下代码:

<fo:block page-break-before="always"> </fo:block>