2009-11-11 111 views
1

我有一個巨大的XML文件。它正在通過xsl轉換爲html表格。在瀏覽器中,它是一個帶有垂直滾動條的頁面。如何在我的頁面的打印版本(使用xsl)在每個頁面上放置表格標題?

但是當我想打印文檔時,我可以看到大約10頁。我想爲每個打印頁面添加表格標題。

示例XML:

<page> 
    <document> 
     <id>100</id> 
     <name>SomeName</name> 
     <date>02.02.2009</date> 
    </document> 
    ... 
</page> 

和XSL吧:

<?xml version='1.0'?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/page"> 
    <table border="1"> 
     <tr> 
     <th>Id</th><th>Name</th><th>Date</th> <!-- I want to see this on every page --> 
     </tr> 
     <xsl:apply-templates/> 
    </table> 
</xsl:template> 

<xsl:template match="document"> 
    <tr> 
     <td> 
     <xsl:value-of select="id"/> 
     </td> 
     <td> 
     <xsl:value-of select="name"/> 
     </td> 
     <td> 
     <xsl:value-of select="date"/> 
     </td> 
    </tr> 
</xsl:template> 
</xsl:stylesheet> 

我在考慮XSL-FO作爲一種工具,在每一頁上打印頭,但據我所知它不支持通過瀏覽器,我們需要一些特殊的軟件來處理XSL-FO文檔。

那麼,將標題添加到網頁的打印版本的正確方法是什麼?

回答

2

您不希望爲瀏覽器預先分頁,因爲您將不可避免地導致瀏覽器打印的尺寸與您預期的略有不同,而且看起來很糟糕。你絕對最好的選擇是提供你的內容的PDF,指定它如何被打印,但這不符合你正在做的事情。

不幸的是,當您在以HTML格式呈現的打印頁面上請求時,沒有任何標準化方式可以提供分頁標題。

0

您可以使用<thead>部分和CSS的組合來完成此操作。您錯過了<thead>部分。看看這個link

相關問題