1
我在運行時使用XSL生成html。我的任務是打印所有數據後打印簽名部分。我打印的數據是這樣的:
客戶1個數據
客戶2個數據
客戶3個數據
客戶4個數據
客戶5個數據
業主簽名 每個客戶的數據有編號,名稱,地址等,每個客戶最多5個細節。
在所有客戶數據的末尾,我需要打印所有者的簽名部分。
現在客戶數據一直運行到3頁,並且所有者部分僅在第一頁打印。但我需要在3頁結尾處簽名。在所有頁面結束後打印內容
我在運行時使用XSL生成html。我的任務是打印所有數據後打印簽名部分。我打印的數據是這樣的:
客戶1個數據
客戶2個數據
客戶3個數據
客戶4個數據
客戶5個數據
業主簽名 每個客戶的數據有編號,名稱,地址等,每個客戶最多5個細節。
在所有客戶數據的末尾,我需要打印所有者的簽名部分。
現在客戶數據一直運行到3頁,並且所有者部分僅在第一頁打印。但我需要在3頁結尾處簽名。在所有頁面結束後打印內容
這是一個簡單的例子,如何生產一些在處理一切年底想輸出:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<xsl:apply-templates/>
Signature:
</xsl:template>
<xsl:template match="customer">
Customer <xsl:value-of select="position()"/> data
</xsl:template>
</xsl:stylesheet>
當這種轉變是在下面的XML文檔應用:
<t>
<customer/>
<customer/>
<customer/>
<customer/>
<customer/>
</t>
想要的結果產生:
Customer 1 data
Customer 2 data
Customer 3 data
Customer 4 data
Customer 5 data
Signature:
說明:
所有處理(不考慮非元件頂節點(它是安全的假設,沒有這樣的存在))在該模板被捕獲:
<xsl:template match="/*">
<xsl:apply-templates/>
Signature:
</xsl:template>
由於字符串"Signature:"
實際上是模板中的最後一個,並且由於XML文檔只有一個頂層元素節點,並且此模板僅被選中一次,所以這確保字符串"Signature:"
是轉換生成的最後一個輸出。
如果你能解釋我上面的代碼,我會很高興。 – sgowd 2012-01-12 14:08:03
@ sans481:我更新了我的答案和請求的解釋。 – 2012-01-12 14:15:49
如果我必須在最後打印客戶2的簽名,該怎麼辦?畢竟客戶資料.. – sgowd 2012-01-13 02:53:53