2016-11-10 43 views
0

如何在表中限制爲6行或7行後使用XSLT插入分頁符或強制分頁符在XML中?使用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

什麼是一個「分頁符」?該術語在XML或XSLT中沒有意義。如果將XML呈現給輸出媒體,則無論執行何種程序,渲染都可能有插入中斷的方法,但是您沒有告訴我們有關渲染階段的任何信息。 –

+0

請發佈您用於生成pdf(XSLT,...)的代碼。謝謝。 – potame

回答

1

目前尚不清楚對我來說,你如何將XML轉換爲PDF格式,但方法是:

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

在XSL-FO,您可以使用下面的代碼:

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