【问题标题】:Insert a page break in XML using XSLT使用 XSLT 在 XML 中插入分页符
【发布时间】:2016-11-10 05:48:06
【问题描述】:

我们如何在表格中限制为 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 之后插入分页符。

谢谢。

【问题讨论】:

  • 什么是“分页符”?该术语在 XML 或 XSLT 中没有任何意义。如果 XML 正在被渲染到输出介质,那么执行渲染的任何程序都可能有插入中断的方法,但您还没有告诉我们有关渲染阶段的任何信息。
  • 请发布您用于生成 pdf 的代码(XSLT,...)。谢谢。

标签: xml xslt


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      相关资源
      最近更新 更多