打印所有内容后的静态内容

时间:2012-01-13 04:25:23

标签: css xslt

我在运行时使用XSL生成html。我的任务是在打印完所有数据后打印签名部分。我打印的数据如下:

客户1数据
客户2数据
客户3数据
客户4数据
客户5数据

客户2的签名

每个客户数据都有ID,名称,地址等,每位客户最多5个详细信息。 在所有客户数据结束时,我需要打印客户2的签名部分。 现在客户数据运行到3页,而所有者部分仅在第一页打印。但我需要在3页末尾的客户2。

查看示例XML ..

<t>
<customer/>
<customer/>
<customer/>
<customer/>
<customer/>
</t>


我需要这样的输出

  Customer 1 data

  Customer 2 data

  Customer 3 data

  Customer 4 data

  Customer 5 data

  Customer 2' Signature.

1 个答案:

答案 0 :(得分:1)

此转化

<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/>

   <xsl:apply-templates mode="sign" select=
   "customer[@id=2]/SignatureSection"/>
 </xsl:template>

 <xsl:template match="customer">
 Customer <xsl:value-of select="position()"/> data
 </xsl:template>

 <xsl:template match="SignatureSection"/>

</xsl:stylesheet>

应用于以下XML文档(因为懒惰OP提供的假XML无用):

<t>
    <customer id="1">
     Some Customer1 Data

     <SignatureSection id="1">
       Signature of Customer1
     </SignatureSection>
    </customer>
    <customer id="2">
     Some Customer2 Data
     <SignatureSection id="2">
       Signature of Customer2
     </SignatureSection>
    </customer>
    <customer id="3">
     Some Customer3 Data
     <SignatureSection id="3">
       Signature of Customer1
     </SignatureSection>
    </customer>
    <customer id="3">
     Some Customer4 Data
     <SignatureSection id="4">
       Signature of Customer4
     </SignatureSection>
    </customer>
    <customer id="5">
     Some Customer5 Data
     <SignatureSection id="5">
       Signature of Customer5
     </SignatureSection>
    </customer>
</t>

产生我们猜测可能是想要的结果

 Customer 1 data

 Customer 2 data

 Customer 3 data

 Customer 4 data

 Customer 5 data

       Signature of Customer2