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